mirror of
https://github.com/django/django.git
synced 2025-10-23 21:59:11 +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:
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user