diff --git a/display.go b/display.go index d3538e2..a8a648b 100644 --- a/display.go +++ b/display.go @@ -1,9 +1,11 @@ package main import ( + "encoding/json" "net/http" "os" "path" + "strconv" "strings" "time" @@ -37,6 +39,17 @@ func fileDisplayHandler(c web.C, w http.ResponseWriter, r *http.Request) { mimetype := mimemagic.Match("", header) + if strings.EqualFold("application/json", r.Header.Get("Accept")) { + js, _ := json.Marshal(map[string]string{ + "filename": fileName, + "mimetype": mimetype, + "expiry": strconv.FormatInt(expiry, 10), + "size": strconv.FormatInt(fileInfo.Size(), 10), + }) + w.Write(js) + return + } + var tpl *pongo2.Template if strings.HasPrefix(mimetype, "image/") {