mirror of
https://github.com/mjl-/mox.git
synced 2025-07-12 17:44:35 +03:00
add Content-Disposition and Filename to the payload of incoming webhooks
for each message part. The ContentDisposition value is the base value without header key/value parameters. the Filename field is the likely filename of the part. the different email clients encode filenames differently. there is a standard mime mechanism from rfc 2231. and there is the q/b-word-encoding from rfc 2047. instead of letting users of the webhook api deal with those differences, we provide just the parsed filename. for issue #258 by morki, thanks for reporting!
This commit is contained in:
@ -1263,9 +1263,12 @@ func (s server) MessageGet(ctx context.Context, req webapi.MessageGetRequest) (r
|
||||
MailboxName: mb.Name,
|
||||
}
|
||||
|
||||
structure, err := webhook.PartStructure(log, &p)
|
||||
xcheckf(err, "parsing structure")
|
||||
|
||||
result := webapi.MessageGetResult{
|
||||
Message: msg,
|
||||
Structure: webhook.PartStructure(&p),
|
||||
Structure: structure,
|
||||
Meta: meta,
|
||||
}
|
||||
return result, nil
|
||||
|
@ -418,7 +418,9 @@ func TestServer(t *testing.T) {
|
||||
tcheckf(t, err, "reading raw message")
|
||||
part, err := message.EnsurePart(log.Logger, true, bytes.NewReader(b.Bytes()), int64(b.Len()))
|
||||
tcheckf(t, err, "parsing raw message")
|
||||
tcompare(t, webhook.PartStructure(&part), msgRes.Structure)
|
||||
structure, err := webhook.PartStructure(log, &part)
|
||||
tcheckf(t, err, "part structure")
|
||||
tcompare(t, structure, msgRes.Structure)
|
||||
|
||||
_, err = client.MessageRawGet(ctxbg, webapi.MessageRawGetRequest{MsgID: 1 + 999})
|
||||
terrcode(t, err, "messageNotFound")
|
||||
|
Reference in New Issue
Block a user