From ca5d8826f539ac55d9dcc18d138e6108c4e5229b Mon Sep 17 00:00:00 2001 From: "Liyang(Leon) Guan" Date: Mon, 15 Jul 2024 17:26:02 +0800 Subject: [PATCH 1/2] Enhance process_request to handle non-numeric content length --- django_prometheus/middleware.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/django_prometheus/middleware.py b/django_prometheus/middleware.py index e1ba5c41..60a7840d 100644 --- a/django_prometheus/middleware.py +++ b/django_prometheus/middleware.py @@ -222,7 +222,10 @@ def process_request(self, request): if request.META.get("HTTP_X_REQUESTED_WITH") == "XMLHttpRequest": self.label_metric(self.metrics.requests_ajax, request).inc() - content_length = int(request.META.get("CONTENT_LENGTH") or 0) + content_length = 0 + raw_content_length = request.META.get("CONTENT_LENGTH") + if raw_content_length.isdigit(): + content_length = int(raw_content_length) self.label_metric(self.metrics.requests_body_bytes, request).observe(content_length) request.prometheus_after_middleware_event = Time() From 4f2b9703ecd1f29424b218123de99241385dad2b Mon Sep 17 00:00:00 2001 From: "Liyang(Leon) Guan" Date: Mon, 15 Jul 2024 17:40:19 +0800 Subject: [PATCH 2/2] Enhance process_request to handle non-numeric content length --- django_prometheus/middleware.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django_prometheus/middleware.py b/django_prometheus/middleware.py index 60a7840d..a9656844 100644 --- a/django_prometheus/middleware.py +++ b/django_prometheus/middleware.py @@ -223,7 +223,7 @@ def process_request(self, request): self.label_metric(self.metrics.requests_ajax, request).inc() content_length = 0 - raw_content_length = request.META.get("CONTENT_LENGTH") + raw_content_length = request.META.get("CONTENT_LENGTH", "") if raw_content_length.isdigit(): content_length = int(raw_content_length) self.label_metric(self.metrics.requests_body_bytes, request).observe(content_length)