mirror of
https://github.com/jhillyerd/inbucket.git
synced 2025-12-17 09:37:02 +00:00
rest: Update attachments to 3.0 URL scheme, closes #138
This commit is contained in:
@@ -65,15 +65,16 @@ func MailboxShowV1(w http.ResponseWriter, req *http.Request, ctx *web.Context) (
|
|||||||
attachments := make([]*model.JSONMessageAttachmentV1, len(attachParts))
|
attachments := make([]*model.JSONMessageAttachmentV1, len(attachParts))
|
||||||
for i, part := range attachParts {
|
for i, part := range attachParts {
|
||||||
content := part.Content
|
content := part.Content
|
||||||
var checksum = md5.Sum(content)
|
// Example URL: http://localhost/serve/mailbox/swaks/0001/attach/0/favicon.png
|
||||||
|
link := "http://" + req.Host + "/serve/mailbox/" + name + "/" + id + "/attach/" +
|
||||||
|
strconv.Itoa(i) + "/" + part.FileName
|
||||||
|
checksum := md5.Sum(content)
|
||||||
attachments[i] = &model.JSONMessageAttachmentV1{
|
attachments[i] = &model.JSONMessageAttachmentV1{
|
||||||
ContentType: part.ContentType,
|
ContentType: part.ContentType,
|
||||||
FileName: part.FileName,
|
FileName: part.FileName,
|
||||||
DownloadLink: "http://" + req.Host + "/mailbox/dattach/" + name + "/" + id + "/" +
|
DownloadLink: link,
|
||||||
strconv.Itoa(i) + "/" + part.FileName,
|
ViewLink: link,
|
||||||
ViewLink: "http://" + req.Host + "/mailbox/vattach/" + name + "/" + id + "/" +
|
MD5: hex.EncodeToString(checksum[:]),
|
||||||
strconv.Itoa(i) + "/" + part.FileName,
|
|
||||||
MD5: hex.EncodeToString(checksum[:]),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return web.RenderJSON(w,
|
return web.RenderJSON(w,
|
||||||
|
|||||||
@@ -196,6 +196,10 @@ func TestRestMessage(t *testing.T) {
|
|||||||
"From": []string{"noreply@inbucket.org"},
|
"From": []string{"noreply@inbucket.org"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Attachments: []*enmime.Part{{
|
||||||
|
FileName: "favicon.png",
|
||||||
|
ContentType: "image/png",
|
||||||
|
}},
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
mm.AddMessage("good", msg1)
|
mm.AddMessage("good", msg1)
|
||||||
@@ -231,6 +235,10 @@ func TestRestMessage(t *testing.T) {
|
|||||||
decodedStringEquals(t, result, "header/To/[0]", "fred@fish.com")
|
decodedStringEquals(t, result, "header/To/[0]", "fred@fish.com")
|
||||||
decodedStringEquals(t, result, "header/To/[1]", "keyword@nsa.gov")
|
decodedStringEquals(t, result, "header/To/[1]", "keyword@nsa.gov")
|
||||||
decodedStringEquals(t, result, "header/From/[0]", "noreply@inbucket.org")
|
decodedStringEquals(t, result, "header/From/[0]", "noreply@inbucket.org")
|
||||||
|
decodedStringEquals(t, result, "attachments/[0]/filename", "favicon.png")
|
||||||
|
decodedStringEquals(t, result, "attachments/[0]/content-type", "image/png")
|
||||||
|
decodedStringEquals(t, result, "attachments/[0]/download-link", "http://localhost/serve/mailbox/good/0001/attach/0/favicon.png")
|
||||||
|
decodedStringEquals(t, result, "attachments/[0]/view-link", "http://localhost/serve/mailbox/good/0001/attach/0/favicon.png")
|
||||||
|
|
||||||
if t.Failed() {
|
if t.Failed() {
|
||||||
// Wait for handler to finish logging
|
// Wait for handler to finish logging
|
||||||
|
|||||||
Reference in New Issue
Block a user