This commit is contained in:
Simon Ser 2019-12-03 11:12:26 +01:00
parent 61f2f3e139
commit 4cbe2fde9d
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
3 changed files with 14 additions and 14 deletions

View file

@ -23,7 +23,7 @@ var ErrSessionExpired = errors.New("session expired")
// TODO: expiration timer
type ConnPool struct {
locker sync.Mutex
conns map[string]*imapclient.Client
conns map[string]*imapclient.Client
}
func NewConnPool() *ConnPool {

View file

@ -9,9 +9,9 @@ import (
"strings"
"github.com/emersion/go-imap"
imapclient "github.com/emersion/go-imap/client"
"github.com/emersion/go-message"
"github.com/emersion/go-message/textproto"
imapclient "github.com/emersion/go-imap/client"
)
func (s *Server) connectIMAP() (*imapclient.Client, error) {
@ -41,7 +41,7 @@ func (s *Server) connectIMAP() (*imapclient.Client, error) {
func listMailboxes(conn *imapclient.Client) ([]*imap.MailboxInfo, error) {
ch := make(chan *imap.MailboxInfo, 10)
done := make(chan error, 1)
go func () {
go func() {
done <- conn.List("", "*", ch)
}()
@ -171,8 +171,8 @@ func listMessages(conn *imapclient.Client, mboxName string) ([]imapMessage, erro
}
// Reverse list of messages
for i := len(msgs)/2-1; i >= 0; i-- {
opp := len(msgs)-1-i
for i := len(msgs)/2 - 1; i >= 0; i-- {
opp := len(msgs) - 1 - i
msgs[i], msgs[opp] = msgs[opp], msgs[i]
}

View file

@ -8,16 +8,16 @@ import (
"strings"
"time"
"github.com/labstack/echo/v4"
imapclient "github.com/emersion/go-imap/client"
"github.com/labstack/echo/v4"
)
const cookieName = "koushin_session"
type Server struct {
imap struct {
host string
tls bool
host string
tls bool
insecure bool
pool *ConnPool
@ -51,15 +51,15 @@ func NewServer(imapURL string) (*Server, error) {
type context struct {
echo.Context
server *Server
conn *imapclient.Client
conn *imapclient.Client
}
var aLongTimeAgo = time.Unix(233431200, 0)
func (c *context) setToken(token string) {
cookie := http.Cookie{
Name: cookieName,
Value: token,
Name: cookieName,
Value: token,
HttpOnly: true,
// TODO: domain, secure
}
@ -179,9 +179,9 @@ func New(imapURL string) *echo.Echo {
}
return ctx.Render(http.StatusOK, "mailbox.html", map[string]interface{}{
"Mailbox": ctx.conn.Mailbox(),
"Mailbox": ctx.conn.Mailbox(),
"Mailboxes": mailboxes,
"Messages": msgs,
"Messages": msgs,
})
})
@ -206,7 +206,7 @@ func New(imapURL string) *echo.Echo {
return ctx.Render(http.StatusOK, "message.html", map[string]interface{}{
"Mailbox": ctx.conn.Mailbox(),
"Message": msg,
"Body": body,
"Body": body,
})
})