package pkg import ( "github.com/julienschmidt/httprouter" "net/http" "strconv" ) func serveAttachment(w http.ResponseWriter, r *http.Request, params httprouter.Params, sql string) { slug := params[0].Value if !ValidUuid(slug) { http.NotFound(w, r) return } conn := getConn(r) var contentType string var content []byte if notFoundErrorOrPanic(conn.QueryRow(r.Context(), sql, slug).Scan(&contentType, &content)) { http.NotFound(w, r) return } w.Header().Set("Content-Type", contentType) w.Header().Set("Content-Length", strconv.FormatInt(int64(len(content)), 10)) _, _ = w.Write(content) }