This repository was archived by the owner on Feb 26, 2026. It is now read-only.
File tree Expand file tree Collapse file tree
google/cloud/logging_v2/handlers Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2424
2525from google .cloud .logging_v2 .handlers .middleware .request import _get_django_request
2626
27+ _DJANGO_CONTENT_LENGTH = "CONTENT_LENGTH"
2728_DJANGO_TRACE_HEADER = "HTTP_X_CLOUD_TRACE_CONTEXT"
2829_DJANGO_USERAGENT_HEADER = "HTTP_USER_AGENT"
2930_DJANGO_REMOTE_ADDR_HEADER = "REMOTE_ADDR"
@@ -93,11 +94,18 @@ def get_request_data_from_django():
9394
9495 if request is None :
9596 return None , None
97+
98+ # convert content_length to int if it exists
99+ content_length = None
100+ try :
101+ content_length = int (request .META .get (_DJANGO_CONTENT_LENGTH ))
102+ except (ValueError , TypeError ):
103+ content_length = None
96104 # build http_request
97105 http_request = {
98106 "requestMethod" : request .method ,
99107 "requestUrl" : request .build_absolute_uri (),
100- "requestSize" : len ( request . body ) ,
108+ "requestSize" : content_length ,
101109 "userAgent" : request .META .get (_DJANGO_USERAGENT_HEADER ),
102110 "remoteIp" : request .META .get (_DJANGO_REMOTE_ADDR_HEADER ),
103111 "referer" : request .META .get (_DJANGO_REFERER_HEADER ),
Original file line number Diff line number Diff line change @@ -172,6 +172,9 @@ def test_http_request_populated(self):
172172 HTTP_USER_AGENT = expected_agent ,
173173 HTTP_REFERER = expected_referrer ,
174174 )
175+ # ensure test passes even after request has been read
176+ # context: https://github.com/googleapis/python-logging/issues/159
177+ django_request .read ()
175178
176179 middleware = request .RequestMiddleware (None )
177180 middleware .process_request (django_request )
You can’t perform that action at this time.
0 commit comments