mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #26601 -- Improved middleware per DEP 0005.
Thanks Tim Graham for polishing the patch, updating the tests, and writing documentation. Thanks Carl Meyer for shepherding the DEP.
This commit is contained in:
committed by
Tim Graham
parent
05c888ffb8
commit
9baf692a58
@@ -1,37 +1,38 @@
|
||||
from django.http import HttpResponse, StreamingHttpResponse
|
||||
from django.urls import reverse
|
||||
from django.utils.deprecation import MiddlewareMixin
|
||||
|
||||
from . import urlconf_inner
|
||||
|
||||
|
||||
class ChangeURLconfMiddleware(object):
|
||||
class ChangeURLconfMiddleware(MiddlewareMixin):
|
||||
def process_request(self, request):
|
||||
request.urlconf = urlconf_inner.__name__
|
||||
|
||||
|
||||
class NullChangeURLconfMiddleware(object):
|
||||
class NullChangeURLconfMiddleware(MiddlewareMixin):
|
||||
def process_request(self, request):
|
||||
request.urlconf = None
|
||||
|
||||
|
||||
class ReverseInnerInResponseMiddleware(object):
|
||||
class ReverseInnerInResponseMiddleware(MiddlewareMixin):
|
||||
def process_response(self, *args, **kwargs):
|
||||
return HttpResponse(reverse('inner'))
|
||||
|
||||
|
||||
class ReverseOuterInResponseMiddleware(object):
|
||||
class ReverseOuterInResponseMiddleware(MiddlewareMixin):
|
||||
def process_response(self, *args, **kwargs):
|
||||
return HttpResponse(reverse('outer'))
|
||||
|
||||
|
||||
class ReverseInnerInStreaming(object):
|
||||
class ReverseInnerInStreaming(MiddlewareMixin):
|
||||
def process_view(self, *args, **kwargs):
|
||||
def stream():
|
||||
yield reverse('inner')
|
||||
return StreamingHttpResponse(stream())
|
||||
|
||||
|
||||
class ReverseOuterInStreaming(object):
|
||||
class ReverseOuterInStreaming(MiddlewareMixin):
|
||||
def process_view(self, *args, **kwargs):
|
||||
def stream():
|
||||
yield reverse('outer')
|
||||
|
||||
Reference in New Issue
Block a user