datatracker/patch/fix-request-profiler-streaming-length.patch
2020-06-06 21:15:10 +00:00

37 lines
1.7 KiB
Diff

--- request_profiler.orig/models.py 2020-06-05 14:33:10.408859604 +0200
+++ request_profiler/models.py 2020-06-05 14:35:09.412282408 +0200
@@ -182,7 +182,7 @@
"""Extract values from HttpRequest and store locally."""
self.request = request
self.http_method = request.method
- self.request_uri = request.path
+ self.request_uri = request.path[:200]
self.query_string = request.META.get("QUERY_STRING", "")
self.http_user_agent = request.META.get("HTTP_USER_AGENT", "")[:400]
# we care about the domain more than the URL itself, so truncating
@@ -190,11 +190,7 @@
self.http_referer = request.META.get("HTTP_REFERER", "")[:400]
# X-Forwarded-For is used by convention when passing through
# load balancers etc., as the REMOTE_ADDR is rewritten in transit
- self.remote_addr = (
- request.META.get("HTTP_X_FORWARDED_FOR")
- if "HTTP_X_FORWARDED_FOR" in request.META
- else request.META.get("REMOTE_ADDR")
- )
+ self.remote_addr = request.META.get("REMOTE_ADDR")
# these two require middleware, so may not exist
if hasattr(request, "session"):
self.session_key = request.session.session_key or ""
@@ -207,7 +203,10 @@
"""Extract values from HttpResponse and store locally."""
self.response = response
self.response_status_code = response.status_code
- self.response_content_length = len(response.content)
+ if hasattr(response, 'content'):
+ self.response_content_length = len(response.content)
+ else:
+ self.response_content_length = -1
return self
def stop(self):