mirror of
https://github.com/django/django.git
synced 2025-08-02 18:13:02 +00:00
Fixed #19541 -- Fixed BaseHandler to enable reversing URLs in response middlewares
and streamed responses with respect to per-request urlconf.
This commit is contained in:
parent
014638a131
commit
521765f63d
4 changed files with 170 additions and 93 deletions
|
@ -1,5 +1,8 @@
|
|||
from __future__ import absolute_import
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.http import HttpResponse, StreamingHttpResponse
|
||||
|
||||
from . import urlconf_inner
|
||||
|
||||
|
||||
|
@ -10,3 +13,23 @@ class ChangeURLconfMiddleware(object):
|
|||
class NullChangeURLconfMiddleware(object):
|
||||
def process_request(self, request):
|
||||
request.urlconf = None
|
||||
|
||||
class ReverseInnerInResponseMiddleware(object):
|
||||
def process_response(self, *args, **kwargs):
|
||||
return HttpResponse(reverse('inner'))
|
||||
|
||||
class ReverseOuterInResponseMiddleware(object):
|
||||
def process_response(self, *args, **kwargs):
|
||||
return HttpResponse(reverse('outer'))
|
||||
|
||||
class ReverseInnerInStreaming(object):
|
||||
def process_view(self, *args, **kwargs):
|
||||
def stream():
|
||||
yield reverse('inner')
|
||||
return StreamingHttpResponse(stream())
|
||||
|
||||
class ReverseOuterInStreaming(object):
|
||||
def process_view(self, *args, **kwargs):
|
||||
def stream():
|
||||
yield reverse('outer')
|
||||
return StreamingHttpResponse(stream())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue