aboutsummaryrefslogtreecommitdiff
path: root/worker
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-03-31 11:29:57 -0400
committerDrew DeVault <sir@cmpwn.com>2019-03-31 11:29:57 -0400
commit143289bbd0736d72553a3c2a080aa3d125366b38 (patch)
tree6a2e97db785db1385063323708764cb93388a4d0 /worker
parent1f23868652a2ce0e81bddd048e3e828efaff2d69 (diff)
Don't parse mail in worker; send a reader instead
Diffstat (limited to 'worker')
-rw-r--r--worker/imap/fetch.go12
-rw-r--r--worker/types/messages.go7
2 files changed, 5 insertions, 14 deletions
diff --git a/worker/imap/fetch.go b/worker/imap/fetch.go
index d229126..8052e13 100644
--- a/worker/imap/fetch.go
+++ b/worker/imap/fetch.go
@@ -2,7 +2,6 @@ package imap
import (
"github.com/emersion/go-imap"
- "github.com/mohamedattahri/mail"
"git.sr.ht/~sircmpwn/aerc2/worker/types"
)
@@ -45,16 +44,9 @@ func (imapw *IMAPWorker) handleFetchMessages(
for _msg := range messages {
imapw.seqMap[_msg.SeqNum-1] = _msg.Uid
if reader := _msg.GetBody(section); reader != nil {
- email, err := mail.ReadMessage(reader)
- if err != nil {
- imapw.worker.PostMessage(&types.Error{
- Message: types.RespondTo(msg),
- Error: err,
- }, nil)
- }
imapw.worker.PostMessage(&types.MessageBody{
- Mail: email,
- Uid: _msg.Uid,
+ Reader: reader,
+ Uid: _msg.Uid,
}, nil)
} else {
imapw.worker.PostMessage(&types.MessageInfo{
diff --git a/worker/types/messages.go b/worker/types/messages.go
index b1d1485..803bb98 100644
--- a/worker/types/messages.go
+++ b/worker/types/messages.go
@@ -6,7 +6,6 @@ import (
"time"
"github.com/emersion/go-imap"
- "github.com/mohamedattahri/mail"
"git.sr.ht/~sircmpwn/aerc2/config"
)
@@ -137,13 +136,13 @@ type MessageInfo struct {
type MessageBody struct {
Message
- Mail *mail.Message
- Uid uint32
+ Reader io.Reader
+ Uid uint32
}
type MessageBodyPart struct {
Message
- Reader *io.Reader
+ Reader io.Reader
Uid uint32
}