From 8cf507f85f1ba9feae40b2aae4dee00da02070f6 Mon Sep 17 00:00:00 2001 From: Robert Swain Date: Thu, 18 May 2017 09:04:36 +0200 Subject: [PATCH] mediaapi/writers: Never return server errors to user but log them --- .../matrix-org/dendrite/mediaapi/writers/upload.go | 10 ++++++---- .../matrix-org/dendrite/mediaapi/writers/utils.go | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/github.com/matrix-org/dendrite/mediaapi/writers/upload.go b/src/github.com/matrix-org/dendrite/mediaapi/writers/upload.go index c1db78ca7..4640e4ed4 100644 --- a/src/github.com/matrix-org/dendrite/mediaapi/writers/upload.go +++ b/src/github.com/matrix-org/dendrite/mediaapi/writers/upload.go @@ -160,14 +160,14 @@ func Upload(req *http.Request, cfg *config.MediaAPI, db *storage.Database) util. bytesWritten, err := io.Copy(writer, reader) if err != nil { - logger.Infof("Failed to copy %q\n", err) + logger.Warnf("Failed to copy %q\n", err) tmpDirErr := os.RemoveAll(string(tmpDir)) if tmpDirErr != nil { logger.Warnf("Failed to remove tmpDir (%v): %q\n", tmpDir, tmpDirErr) } return util.JSONResponse{ Code: 400, - JSON: jsonerror.Unknown(fmt.Sprintf("Failed to upload: %q", err)), + JSON: jsonerror.Unknown(fmt.Sprintf("Failed to upload")), } } @@ -210,13 +210,14 @@ func Upload(req *http.Request, cfg *config.MediaAPI, db *storage.Database) util. err = db.StoreMediaMetadata(r.MediaMetadata) if err != nil { + logger.Warnf("Failed to store metadata: %q\n", err) tmpDirErr := os.RemoveAll(string(tmpDir)) if tmpDirErr != nil { logger.Warnf("Failed to remove tmpDir (%v): %q\n", tmpDir, tmpDirErr) } return util.JSONResponse{ Code: 400, - JSON: jsonerror.Unknown(fmt.Sprintf("Failed to upload: %q", err)), + JSON: jsonerror.Unknown(fmt.Sprintf("Failed to upload")), } } @@ -225,13 +226,14 @@ func Upload(req *http.Request, cfg *config.MediaAPI, db *storage.Database) util. types.Path(getPathFromMediaMetadata(r.MediaMetadata, cfg.BasePath)), ) if err != nil { + logger.Warnf("Failed to move file to final destination: %q\n", err) tmpDirErr := os.RemoveAll(string(tmpDir)) if tmpDirErr != nil { logger.Warnf("Failed to remove tmpDir (%v): %q\n", tmpDir, tmpDirErr) } return util.JSONResponse{ Code: 400, - JSON: jsonerror.Unknown(fmt.Sprintf("Failed to upload: %q", err)), + JSON: jsonerror.Unknown(fmt.Sprintf("Failed to upload")), } } diff --git a/src/github.com/matrix-org/dendrite/mediaapi/writers/utils.go b/src/github.com/matrix-org/dendrite/mediaapi/writers/utils.go index 7b2852aa6..9317404b6 100644 --- a/src/github.com/matrix-org/dendrite/mediaapi/writers/utils.go +++ b/src/github.com/matrix-org/dendrite/mediaapi/writers/utils.go @@ -62,7 +62,7 @@ func createTempFileWriter(basePath types.Path, logger *log.Entry) (*bufio.Writer logger.Infof("Failed to create temp dir %q\n", err) return nil, nil, "", &util.JSONResponse{ Code: 400, - JSON: jsonerror.Unknown(fmt.Sprintf("Failed to upload: %q", err)), + JSON: jsonerror.Unknown(fmt.Sprintf("Failed to upload")), } } writer, tmpFile, err := createFileWriter(tmpDir, "content") @@ -70,7 +70,7 @@ func createTempFileWriter(basePath types.Path, logger *log.Entry) (*bufio.Writer logger.Infof("Failed to create file writer %q\n", err) return nil, nil, "", &util.JSONResponse{ Code: 400, - JSON: jsonerror.Unknown(fmt.Sprintf("Failed to upload: %q", err)), + JSON: jsonerror.Unknown(fmt.Sprintf("Failed to upload")), } } return writer, tmpFile, tmpDir, nil