aboutsummaryrefslogtreecommitdiff
path: root/imap.go
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2019-12-03 14:48:11 +0100
committerSimon Ser <contact@emersion.fr>2019-12-03 14:48:11 +0100
commit96646c8324783c9e07135f4e556c746645205f40 (patch)
tree81cae7fce1fb6d415393d78f82bc4c116f2f5cf1 /imap.go
parent9f6b086f62c9da8901d3f021aa65cc13661e1e45 (diff)
downloadalps-96646c8324783c9e07135f4e556c746645205f40.tar.gz
alps-96646c8324783c9e07135f4e556c746645205f40.zip
Add context to errors
Diffstat (limited to 'imap.go')
-rw-r--r--imap.go18
1 files changed, 9 insertions, 9 deletions
diff --git a/imap.go b/imap.go
index e2ca338..8688604 100644
--- a/imap.go
+++ b/imap.go
@@ -19,17 +19,17 @@ func (s *Server) connectIMAP() (*imapclient.Client, error) {
if s.imap.tls {
c, err = imapclient.DialTLS(s.imap.host, nil)
if err != nil {
- return nil, err
+ return nil, fmt.Errorf("failed to connect to IMAPS server: ^v", err)
}
} else {
c, err = imapclient.Dial(s.imap.host)
if err != nil {
- return nil, err
+ return nil, fmt.Errorf("failed to connect to IMAP server: %v", err)
}
if !s.imap.insecure {
if err := c.StartTLS(nil); err != nil {
c.Close()
- return nil, err
+ return nil, fmt.Errorf("STARTTLS failed: %v", err)
}
}
}
@@ -50,7 +50,7 @@ func listMailboxes(conn *imapclient.Client) ([]*imap.MailboxInfo, error) {
}
if err := <-done; err != nil {
- return nil, err
+ return nil, fmt.Errorf("failed to list mailboxes: %v", err)
}
sort.Slice(mailboxes, func(i, j int) bool {
@@ -63,7 +63,7 @@ func ensureMailboxSelected(conn *imapclient.Client, mboxName string) error {
mbox := conn.Mailbox()
if mbox == nil || mbox.Name != mboxName {
if _, err := conn.Select(mboxName, false); err != nil {
- return err
+ return fmt.Errorf("failed to select mailbox: %v", err)
}
}
return nil
@@ -231,7 +231,7 @@ func listMessages(conn *imapclient.Client, mboxName string) ([]imapMessage, erro
}
if err := <-done; err != nil {
- return nil, err
+ return nil, fmt.Errorf("failed to fetch message list: %v", err)
}
// Reverse list of messages
@@ -271,7 +271,7 @@ func getMessagePart(conn *imapclient.Client, mboxName string, uid uint32, partPa
ch := make(chan *imap.Message, 1)
if err := conn.UidFetch(seqSet, fetch, ch); err != nil {
- return nil, nil, err
+ return nil, nil, fmt.Errorf("failed to fetch message: %v", err)
}
msg := <-ch
@@ -282,12 +282,12 @@ func getMessagePart(conn *imapclient.Client, mboxName string, uid uint32, partPa
headerReader := bufio.NewReader(msg.GetBody(&partHeaderSection))
h, err := textproto.ReadHeader(headerReader)
if err != nil {
- return nil, nil, err
+ return nil, nil, fmt.Errorf("failed to read part header: %v", err)
}
part, err := message.New(message.Header{h}, msg.GetBody(&partBodySection))
if err != nil {
- return nil, nil, err
+ return nil, nil, fmt.Errorf("failed to create message reader: %v", err)
}
return &imapMessage{msg}, part, nil