From eddc3e0789f22b9ef2114ede04855b1a96a206b8 Mon Sep 17 00:00:00 2001 From: Robert Swain Date: Thu, 18 May 2017 08:57:29 +0200 Subject: [PATCH] mediaapi/writers/download: Log warnings about why we return 404 --- .../matrix-org/dendrite/mediaapi/writers/download.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/github.com/matrix-org/dendrite/mediaapi/writers/download.go b/src/github.com/matrix-org/dendrite/mediaapi/writers/download.go index d1ee42d3c..83ea70225 100644 --- a/src/github.com/matrix-org/dendrite/mediaapi/writers/download.go +++ b/src/github.com/matrix-org/dendrite/mediaapi/writers/download.go @@ -166,6 +166,7 @@ func Download(w http.ResponseWriter, req *http.Request, origin types.ServerName, r.respondFromRemoteFile(w, cfg.BasePath, cfg.MaxFileSize, db, activeRemoteRequests) } else { // If we do not have a record and the origin is local, or if we have another error from the database, the file is not found + r.Logger.Warnln("Failed to look up file in database:", err) r.jsonErrorResponse(w, util.JSONResponse{ Code: 404, JSON: jsonerror.NotFound(fmt.Sprintf("File with media ID %q does not exist", r.MediaMetadata.MediaID)), @@ -187,6 +188,7 @@ func (r *downloadRequest) respondFromLocalFile(w http.ResponseWriter, basePath t file, err := os.Open(filePath) if err != nil { // FIXME: Remove erroneous file from database? + r.Logger.Warnln("Failed to open file:", err) r.jsonErrorResponse(w, util.JSONResponse{ Code: 404, JSON: jsonerror.NotFound(fmt.Sprintf("File with media ID %q does not exist", r.MediaMetadata.MediaID)), @@ -197,6 +199,7 @@ func (r *downloadRequest) respondFromLocalFile(w http.ResponseWriter, basePath t stat, err := file.Stat() if err != nil { // FIXME: Remove erroneous file from database? + r.Logger.Warnln("Failed to stat file:", err) r.jsonErrorResponse(w, util.JSONResponse{ Code: 404, JSON: jsonerror.NotFound(fmt.Sprintf("File with media ID %q does not exist", r.MediaMetadata.MediaID)), @@ -259,6 +262,7 @@ func (r *downloadRequest) createRemoteRequest() (*http.Response, *util.JSONRespo if resp.StatusCode != 200 { r.Logger.Printf("Server responded with %d\n", resp.StatusCode) if resp.StatusCode == 404 { + r.Logger.Warnln("Remote server says file does not exist") return nil, &util.JSONResponse{ Code: 404, JSON: jsonerror.NotFound(fmt.Sprintf("File with media ID %q does not exist", r.MediaMetadata.MediaID)),