From 7d8cab5ce95a5442de8a5bc0fa3616174d69c935 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20R=C3=BCger?= Date: Tue, 4 Jun 2024 09:54:40 +0200 Subject: [PATCH] Reorder error handling --- prometheus/promhttp/http.go | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/prometheus/promhttp/http.go b/prometheus/promhttp/http.go index da010a804..400cf406c 100644 --- a/prometheus/promhttp/http.go +++ b/prometheus/promhttp/http.go @@ -191,6 +191,13 @@ func HandlerForTransactional(reg prometheus.TransactionalGatherer, opts HandlerO rsp.Header().Set(contentTypeHeader, string(contentType)) w, encodingHeader, closeWriter, err := NegotiateEncodingWriter(req, rsp, opts.DisableCompression, compressions) + if err != nil { + if opts.ErrorLog != nil { + opts.ErrorLog.Println("error getting writer", err) + } + w = io.Writer(rsp) + encodingHeader = string(Identity) + } if closeWriter != nil { defer func() { @@ -202,17 +209,7 @@ func HandlerForTransactional(reg prometheus.TransactionalGatherer, opts HandlerO } }() } - if err != nil { - if opts.ErrorLog != nil { - opts.ErrorLog.Println("error getting writer", err) - } - // Since the writer received from NegotiateEncodingWriter will be nil, in case there's an error, we set it here - w = io.Writer(rsp) - } - if encodingHeader == "" { - encodingHeader = string(Identity) - } rsp.Header().Set(contentEncodingHeader, encodingHeader) enc := expfmt.NewEncoder(w, contentType)