summaryrefslogtreecommitdiff
path: root/tests/test_client/views.py
diff options
context:
space:
mode:
authorTom <tom@tomforb.es>2017-05-22 11:49:39 +0100
committerTim Graham <timograham@gmail.com>2018-02-06 09:03:43 -0500
commit272f685794de0b8dead220ee57b30e65c9aa097c (patch)
treea3b3efebeba4df9eb9a6a8d865b0e0fb407e7c85 /tests/test_client/views.py
parent0f0a07ac278dc2be6da81e519188f77e2a2a00cf (diff)
Fixed #27999 -- Added test client support for HTTP 307 and 308 redirects.
Diffstat (limited to 'tests/test_client/views.py')
-rw-r--r--tests/test_client/views.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test_client/views.py b/tests/test_client/views.py
index 3387008d66..80daa9bcad 100644
--- a/tests/test_client/views.py
+++ b/tests/test_client/views.py
@@ -49,6 +49,16 @@ def trace_view(request):
return HttpResponse(t.render(c))
+def put_view(request):
+ if request.method == 'PUT':
+ t = Template('Data received: {{ data }} is the body.', name='PUT Template')
+ c = Context({'data': request.body.decode()})
+ else:
+ t = Template('Viewing GET page.', name='Empty GET Template')
+ c = Context()
+ return HttpResponse(t.render(c))
+
+
def post_view(request):
"""A view that expects a POST, and returns a different template depending
on whether any POST data is available
@@ -99,6 +109,20 @@ def redirect_view(request):
return HttpResponseRedirect('/get_view/' + query)
+def _post_view_redirect(request, status_code):
+ """Redirect to /post_view/ using the status code."""
+ redirect_to = request.GET.get('to', '/post_view/')
+ return HttpResponseRedirect(redirect_to, status=status_code)
+
+
+def method_saving_307_redirect_view(request):
+ return _post_view_redirect(request, 307)
+
+
+def method_saving_308_redirect_view(request):
+ return _post_view_redirect(request, 308)
+
+
def view_with_secure(request):
"A view that indicates if the request was secure"
response = HttpResponse()