Fixed #27999 -- Added test client support for HTTP 307 and 308 redirects.

This commit is contained in:
Tom 2017-05-22 11:49:39 +01:00 committed by Tim Graham
parent 0f0a07ac27
commit 272f685794
5 changed files with 89 additions and 12 deletions

View file

@ -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()