From 272f685794de0b8dead220ee57b30e65c9aa097c Mon Sep 17 00:00:00 2001 From: Tom Date: Mon, 22 May 2017 11:49:39 +0100 Subject: Fixed #27999 -- Added test client support for HTTP 307 and 308 redirects. --- tests/test_client/views.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'tests/test_client/views.py') 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() -- cgit v1.3