Browse Source

Fix `X-Origin-Content-Length` header value when SVG is sanitized or minified

DarthSim 3 days ago
parent
commit
2584f689c6
2 changed files with 6 additions and 5 deletions
  1. 3 0
      CHANGELOG.md
  2. 3 5
      processing_handler.go

+ 3 - 0
CHANGELOG.md

@@ -4,6 +4,9 @@
 ### Changed
 - (docker) Optimized image quantization.
 
+### Fixed
+- Fix `X-Origin-Content-Length` header value when SVG is sanitized or minified.
+
 ## [3.28.0] - 2025-03-31
 ### Added
 - Add [IMGPROXY_BASE64_URL_INCLUDES_FILENAME](https://docs.imgproxy.net/latest/configuration/options#IMGPROXY_BASE64_URL_INCLUDES_FILENAME) config.

+ 3 - 5
processing_handler.go

@@ -406,12 +406,10 @@ func handleProcessing(reqID string, rw http.ResponseWriter, r *http.Request) {
 			sanitized, svgErr := svg.Sanitize(originData)
 			checkErr(ctx, "svg_processing", svgErr)
 
-			// Since we'll replace origin data, it's better to close it to return
-			// it's buffer to the pool
-			originData.Close()
-
-			originData = sanitized
+			defer sanitized.Close()
 
+			respondWithImage(reqID, r, rw, statusCode, sanitized, po, imageURL, originData)
+			return
 		}
 
 		respondWithImage(reqID, r, rw, statusCode, originData, po, imageURL, originData)