Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit e704f28

Browse filesBrowse files
authored
fix: Remove keyword only argument for RequestsMiddleware (#113)
* fix: Remove keyword only argument for RequestsMiddleware Remove keyword only arguments from request middleware. This causes django to fail when attempting to load middleware. Django currently only supports handlers being passed in as args. * Test that we can instantiate middleware with or without kwargs * Make get_response a required parameter in RequestMiddleware
1 parent 021cfbb commit e704f28
Copy full SHA for e704f28

File tree

Expand file treeCollapse file tree

3 files changed

+16
-3
lines changed
Filter options
Expand file treeCollapse file tree

3 files changed

+16
-3
lines changed

‎google/cloud/logging_v2/handlers/middleware/request.py

Copy file name to clipboardExpand all lines: google/cloud/logging_v2/handlers/middleware/request.py
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def _get_django_request():
4242
class RequestMiddleware(MiddlewareMixin):
4343
"""Saves the request in thread local"""
4444

45-
def __init__(self, *, get_response=None):
45+
def __init__(self, get_response):
4646
self.get_response = get_response
4747

4848
def process_request(self, request):

‎tests/unit/handlers/middleware/test_request.py

Copy file name to clipboardExpand all lines: tests/unit/handlers/middleware/test_request.py
+13Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ def _get_target_class(self):
4141
return request.RequestMiddleware
4242

4343
def _make_one(self, *args, **kw):
44+
if not args and "get_response" not in kw:
45+
kw["get_response"] = None
46+
4447
return self._get_target_class()(*args, **kw)
4548

4649
def test_process_request(self):
@@ -54,6 +57,16 @@ def test_process_request(self):
5457
django_request = request._get_django_request()
5558
self.assertEqual(django_request, mock_request)
5659

60+
def test_can_instantiate_middleware_without_kwargs(self):
61+
handler = mock.Mock()
62+
middleware = self._make_one(handler)
63+
self.assertEqual(middleware.get_response, handler)
64+
65+
def test_can_instantiate_middleware_with_kwargs(self):
66+
handler = mock.Mock()
67+
middleware = self._make_one(get_response=handler)
68+
self.assertEqual(middleware.get_response, handler)
69+
5770

5871
class Test__get_django_request(DjangoBase):
5972
@staticmethod

‎tests/unit/handlers/test__helpers.py

Copy file name to clipboardExpand all lines: tests/unit/handlers/test__helpers.py
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def test_no_context_header(self):
8787

8888
django_request = RequestFactory().get("/")
8989

90-
middleware = request.RequestMiddleware()
90+
middleware = request.RequestMiddleware(None)
9191
middleware.process_request(django_request)
9292
trace_id = self._call_fut()
9393
self.assertIsNone(trace_id)
@@ -104,7 +104,7 @@ def test_valid_context_header(self):
104104
"/", **{django_trace_header: django_trace_id}
105105
)
106106

107-
middleware = request.RequestMiddleware()
107+
middleware = request.RequestMiddleware(None)
108108
middleware.process_request(django_request)
109109
trace_id = self._call_fut()
110110

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.