diff options
Diffstat (limited to 'docs/ref')
| -rw-r--r-- | docs/ref/request-response.txt | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/docs/ref/request-response.txt b/docs/ref/request-response.txt index 72cef1068f..e7b285b086 100644 --- a/docs/ref/request-response.txt +++ b/docs/ref/request-response.txt @@ -286,16 +286,17 @@ Methods behind multiple proxies. One solution is to use middleware to rewrite the proxy headers, as in the following example:: - from django.utils.deprecation import MiddlewareMixin - - class MultipleProxyMiddleware(MiddlewareMixin): + class MultipleProxyMiddleware: FORWARDED_FOR_FIELDS = [ 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED_HOST', 'HTTP_X_FORWARDED_SERVER', ] - def process_request(self, request): + def __init__(self, get_response): + self.get_response = get_response + + def __call__(self, request): """ Rewrites the proxy headers so that only the most recent proxy is used. @@ -305,6 +306,7 @@ Methods if ',' in request.META[field]: parts = request.META[field].split(',') request.META[field] = parts[-1].strip() + return self.get_response(request) This middleware should be positioned before any other middleware that relies on the value of :meth:`~HttpRequest.get_host()` -- for instance, |
