Разрешить хоп-хоп-заголовки в промежуточном ПО прокси Django - PullRequest
3 голосов
/ 08 октября 2010

Мне нужно реализовать HTTP-прокси в Django, и мое Google Safari привело меня к проекту под названием django-webproxy .

Хотя больше не поддерживается, все довольно просто.Большая часть логики опирается на простой прокси-класс Middleware, который перехватывает все запросы к WSGI-серверу Django и обрабатывает их.

Если Middleware возвращает какие-либо данные, WSGI-сервер просто передает их обратно клиенту, но если онНичего не возвращает, Django просто обрабатывает запрос, передавая другое Middleware.

Все отлично работает, в основном, но мне нужно реализовать аутентификацию прокси, что означает, что я должен отправить клиенту код состояния 407 с заголовком Proxy-Authenticate.Django не допускает этого, так как это заголовок за переходом, и Django выдает исключение.Как я могу взломать / заставить / втолкнуть Django, чтобы он позволил мне посылать хоп-хоп-заголовки?

К вашему сведению, код для класса промежуточного программного обеспечения можно найти здесь .

1 Ответ

2 голосов
/ 08 октября 2010
from django.core.servers import basehttp

del basehttp._hop_headers['proxy-authenticate']
del basehttp._hop_headers['proxy-authorization']

Это сработало для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...