aboutsummaryrefslogtreecommitdiff
path: root/server.go
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2019-12-02 17:58:19 +0100
committerSimon Ser <contact@emersion.fr>2019-12-02 17:58:19 +0100
commite9d31b0940793542021b5218e406d6e0c668c185 (patch)
tree083559d6ccdf219649274137f0c4dc5fc5c53bc4 /server.go
parent594bb2ec190edc2d5c6d1b3898b3bc0ac10e2098 (diff)
downloadalps-e9d31b0940793542021b5218e406d6e0c668c185.tar.gz
alps-e9d31b0940793542021b5218e406d6e0c668c185.zip
Extract IMAP functions into separate file
Diffstat (limited to 'server.go')
-rw-r--r--server.go39
1 files changed, 2 insertions, 37 deletions
diff --git a/server.go b/server.go
index 14b9892..f573756 100644
--- a/server.go
+++ b/server.go
@@ -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
}