diff options
author | Simon Ser <contact@emersion.fr> | 2019-12-02 17:58:19 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2019-12-02 17:58:19 +0100 |
commit | e9d31b0940793542021b5218e406d6e0c668c185 (patch) | |
tree | 083559d6ccdf219649274137f0c4dc5fc5c53bc4 /server.go | |
parent | 594bb2ec190edc2d5c6d1b3898b3bc0ac10e2098 (diff) | |
download | alps-e9d31b0940793542021b5218e406d6e0c668c185.tar.gz alps-e9d31b0940793542021b5218e406d6e0c668c185.zip |
Extract IMAP functions into separate file
Diffstat (limited to 'server.go')
-rw-r--r-- | server.go | 39 |
1 files changed, 2 insertions, 37 deletions
@@ -7,7 +7,6 @@ import ( "time" "github.com/labstack/echo/v4" - "github.com/emersion/go-imap" imapclient "github.com/emersion/go-imap/client" ) @@ -47,30 +46,6 @@ func NewServer(imapURL string) (*Server, error) { return s, nil } -func (s *Server) connectIMAP() (*imapclient.Client, error) { - var c *imapclient.Client - var err error - if s.imap.tls { - c, err = imapclient.DialTLS(s.imap.host, nil) - if err != nil { - return nil, err - } - } else { - c, err = imapclient.Dial(s.imap.host) - if err != nil { - return nil, err - } - if !s.imap.insecure { - if err := c.StartTLS(nil); err != nil { - c.Close() - return nil, err - } - } - } - - return c, err -} - type context struct { echo.Context server *Server @@ -163,18 +138,8 @@ func New(imapURL string) *echo.Echo { e.GET("/", func(ectx echo.Context) error { ctx := ectx.(*context) - ch := make(chan *imap.MailboxInfo, 10) - done := make(chan error, 1) - go func () { - done <- ctx.conn.List("", "*", ch) - }() - - var mailboxes []*imap.MailboxInfo - for mbox := range ch { - mailboxes = append(mailboxes, mbox) - } - - if err := <-done; err != nil { + mailboxes, err := listMailboxes(ctx.conn) + if err != nil { return err } |