Мне нужно реализовать HTTP-прокси в Django, и мое Google Safari привело меня к проекту под названием django-webproxy .
Хотя больше не поддерживается, все довольно просто.Большая часть логики опирается на простой прокси-класс Middleware, который перехватывает все запросы к WSGI-серверу Django и обрабатывает их.
Если Middleware возвращает какие-либо данные, WSGI-сервер просто передает их обратно клиенту, но если онНичего не возвращает, Django просто обрабатывает запрос, передавая другое Middleware.
Все отлично работает, в основном, но мне нужно реализовать аутентификацию прокси, что означает, что я должен отправить клиенту код состояния 407 с заголовком Proxy-Authenticate
.Django не допускает этого, так как это заголовок за переходом, и Django выдает исключение.Как я могу взломать / заставить / втолкнуть Django, чтобы он позволил мне посылать хоп-хоп-заголовки?
К вашему сведению, код для класса промежуточного программного обеспечения можно найти здесь .