Fix header missing from raw e-mail download

This commit is contained in:
Simon Ser 2019-12-18 16:57:53 +01:00
parent 3d2da43207
commit 8c4587f477
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48

View file

@ -203,8 +203,13 @@ func handleGetPart(ctx *koushin.Context, raw bool) error {
}
if raw {
ctx.Response().Header().Set("Content-Type", mimeType)
disp, dispParams, _ := part.Header.ContentDisposition()
filename := dispParams["filename"]
if len(partPath) == 0 {
filename = msg.Envelope.Subject + ".eml"
}
// TODO: set Content-Length if possible
@ -216,7 +221,12 @@ func handleGetPart(ctx *koushin.Context, raw bool) error {
disp := mime.FormatMediaType("attachment", dispParams)
ctx.Response().Header().Set("Content-Disposition", disp)
}
return ctx.Stream(http.StatusOK, mimeType, part.Body)
if len(partPath) == 0 {
return part.WriteTo(ctx.Response())
} else {
return ctx.Stream(http.StatusOK, mimeType, part.Body)
}
}
var body string