diff --git a/worker/maildir/worker.go b/worker/maildir/worker.go index a671d73..2f75f12 100644 --- a/worker/maildir/worker.go +++ b/worker/maildir/worker.go @@ -1,9 +1,11 @@ package maildir import ( + "bytes" "errors" "fmt" "io" + "io/ioutil" "net/url" "os" "path/filepath" @@ -433,11 +435,15 @@ func (w *Worker) handleFetchFullMessages(msg *types.FetchFullMessages) error { return err } defer r.Close() + b, err := ioutil.ReadAll(r) + if err != nil { + return err + } w.worker.PostMessage(&types.FullMessage{ Message: types.RespondTo(msg), Content: &models.FullMessage{ Uid: uid, - Reader: r, + Reader: bytes.NewReader(b), }, }, nil) } diff --git a/worker/notmuch/worker.go b/worker/notmuch/worker.go index d95d6ba..36ed2c8 100644 --- a/worker/notmuch/worker.go +++ b/worker/notmuch/worker.go @@ -5,7 +5,9 @@ package notmuch import ( "bufio" + "bytes" "fmt" + "io/ioutil" "net/url" "os" "path/filepath" @@ -368,11 +370,15 @@ func (w *worker) handleFetchFullMessages(msg *types.FetchFullMessages) error { return err } defer r.Close() + b, err := ioutil.ReadAll(r) + if err != nil { + return err + } w.w.PostMessage(&types.FullMessage{ Message: types.RespondTo(msg), Content: &models.FullMessage{ Uid: uid, - Reader: r, + Reader: bytes.NewReader(b), }, }, nil) }