Skip to content

Commit 8428779

Browse files
authored
Merge pull request #100 from MindscapeHQ/cm/apl-123/resolve-crash-on-logging-post-requests
Resolve crash reports not logging post requests in Django
2 parents ac5b5d0 + da067a3 commit 8428779

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

python2/tests/middleware/test_django.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,20 @@ class DjangoProviderTests(SimpleTestCase):
1414
def setUp(self):
1515
request_factory = RequestFactory()
1616
self.get_request = request_factory.get('/foo')
17+
self.post_request = request_factory.post('/foo')
1718

18-
def test_map_request(self):
19+
def test_get_map_request(self):
1920
provider = Provider()
2021
request_payload = provider._mapRequest(self.get_request)
2122
self.assertEqual(request_payload['url'], '/foo')
2223
self.assertEqual(request_payload['httpMethod'], 'GET')
2324

25+
def test_post_map_request(self):
26+
provider = Provider()
27+
request_payload = provider._mapRequest(self.post_request)
28+
self.assertEqual(request_payload['url'], '/foo')
29+
self.assertEqual(request_payload['httpMethod'], 'POST')
30+
2431
def test_get_django_environment(self):
2532
provider = Provider()
2633
environment_payload = provider._get_django_environment()

python3/raygun4py/middleware/django.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def _mapRequest(self, request):
3838
'queryString': dict((key, request.GET[key]) for key in request.GET),
3939
'form': dict((key, request.POST[key]) for key in request.POST),
4040
'headers': _headers,
41-
'rawData': request.body if hasattr(request, 'body') else getattr(request, 'raw_post_data', {})
41+
'rawData': request.data if hasattr(request, 'data') else getattr(request, 'raw_post_data', {})
4242
}
4343

4444
def _get_django_environment(self):

python3/tests/middleware/test_django.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,20 @@ class DjangoProviderTests(SimpleTestCase):
1414
def setUp(self):
1515
request_factory = RequestFactory()
1616
self.get_request = request_factory.get('/foo')
17+
self.post_request = request_factory.post('/foo')
1718

18-
def test_map_request(self):
19+
def test_get_map_request(self):
1920
provider = Provider()
2021
request_payload = provider._mapRequest(self.get_request)
2122
self.assertEqual(request_payload['url'], '/foo')
2223
self.assertEqual(request_payload['httpMethod'], 'GET')
2324

25+
def test_post_map_request(self):
26+
provider = Provider()
27+
request_payload = provider._mapRequest(self.post_request)
28+
self.assertEqual(request_payload['url'], '/foo')
29+
self.assertEqual(request_payload['httpMethod'], 'POST')
30+
2431
def test_get_django_environment(self):
2532
provider = Provider()
2633
environment_payload = provider._get_django_environment()

0 commit comments

Comments
 (0)