Skip to content
Snippets Groups Projects
Unverified Commit 8bbe87f4 authored by Christian Svensson's avatar Christian Svensson Committed by GitHub
Browse files

Set Content-Length for Metrics requests (#7730)


HTTP requires the response to contain a Content-Length header unless chunked encoding is being used.
Prometheus metrics endpoint did not set this, causing software such as prometheus-proxy to not be able to scrape synapse for metrics.

Signed-off-by: default avatarChristian Svensson <blue@cmd.nu>
parent 24110255
No related branches found
No related tags found
No related merge requests found
Fix missing `Content-Length` on HTTP responses from the metrics handler.
......@@ -208,6 +208,7 @@ class MetricsHandler(BaseHTTPRequestHandler):
raise
self.send_response(200)
self.send_header("Content-Type", CONTENT_TYPE_LATEST)
self.send_header("Content-Length", str(len(output)))
self.end_headers()
self.wfile.write(output)
......@@ -261,4 +262,6 @@ class MetricsResource(Resource):
def render_GET(self, request):
request.setHeader(b"Content-Type", CONTENT_TYPE_LATEST.encode("ascii"))
return generate_latest(self.registry)
response = generate_latest(self.registry)
request.setHeader(b"Content-Length", str(len(response)))
return response
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment