From 0ecb645f27221e782002089cfba3f3d922b4a036 Mon Sep 17 00:00:00 2001 From: Robert Swain Date: Mon, 22 May 2017 15:21:56 +0200 Subject: [PATCH] mediaapi/fileutils: Move logic from function to call site Makes for better readability. The only reason it was inside the function was to avoid being too complex for gocyclo checks. --- .../dendrite/mediaapi/fileutils/fileutils.go | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/github.com/matrix-org/dendrite/mediaapi/fileutils/fileutils.go b/src/github.com/matrix-org/dendrite/mediaapi/fileutils/fileutils.go index 6a520ee05..3220949a3 100644 --- a/src/github.com/matrix-org/dendrite/mediaapi/fileutils/fileutils.go +++ b/src/github.com/matrix-org/dendrite/mediaapi/fileutils/fileutils.go @@ -87,17 +87,13 @@ var ( ) // writeToResponse takes bytesToWrite bytes from buffer and writes them to respWriter -// Returns bytes written and an error. In case of error, or if there is no respWriter, -// the number of bytes written will be 0. +// Returns bytes written and an error. In case of error, the number of bytes written will be 0. func writeToResponse(respWriter http.ResponseWriter, buffer []byte, bytesToWrite int) (int64, error) { - if respWriter != nil { - bytesWritten, respErr := respWriter.Write(buffer[:bytesToWrite]) - if bytesWritten != bytesToWrite || (respErr != nil && respErr != io.EOF) { - return 0, errResponse - } - return int64(bytesWritten), nil + bytesWritten, respErr := respWriter.Write(buffer[:bytesToWrite]) + if bytesWritten != bytesToWrite || (respErr != nil && respErr != io.EOF) { + return 0, errResponse } - return 0, nil + return int64(bytesWritten), nil } // writeToDiskAndHasher takes bytesToWrite bytes from buffer and writes them to tmpFileWriter and hasher. @@ -156,8 +152,10 @@ func ReadAndHashAndWriteWithLimit(reqReader io.Reader, maxFileSizeBytes types.Fi if bytesRead > 0 { // Note: This code allows proxying files larger than maxFileSizeBytes! // write to client request's response body - bytesTemp, copyError = writeToResponse(respWriter, buffer, bytesRead) - bytesResponded += bytesTemp + if respWriter != nil { + bytesTemp, copyError = writeToResponse(respWriter, buffer, bytesRead) + bytesResponded += bytesTemp + } if copyError == nil { // Note: if we get here then copyError != ErrFileIsTooLarge && copyError != errWrite // as if copyError == errResponse || copyError == errWrite then we would have broken