Mina — HTTP-прокси — для чего нужен AbstractHttpLogicHandler?

В настоящее время я работаю над созданием простого HTTP-прокси с использованием Apache Mina, в частности org.apache.mina.proxy, и у меня есть несколько вопросов о том, как использовать некоторые компоненты.

  • Как извлечь будущий адрес из входящего HTTP-запроса? Я вижу, как создать ProxyConnection с учетом URL-адреса, но я не вижу, как извлечь его из входящего запроса. У меня такое чувство, что это приводит к моему следующему вопросу:

  • Для чего нужен AbstractHttpLogicHandler? Я вижу, что у него есть подкласс HttpSmartProxyHandler, но я не уверен, как его использовать.

  • Есть ли где-нибудь пример, на который я мог бы посмотреть? Я просматривал http://mina.apache.org/report/trunk/xref/org/apache/mina/example/proxy/, но, похоже, он не отвечает на мои вопросы выше.


person SlappyTheFish    schedule 02.08.2010    source источник


Ответы (2)


Я думаю, что классы в org.apache.mina.proxy — это классы для добавления прокси в ваш HTTP-запрос, а не классы, которые вы можете напрямую использовать для создания своего прокси.

person rno    schedule 20.10.2011

О вашем втором замечании: AbstractHttpLogicHandler - это абстрактный класс, который украшает AbstractProxyLogicHandler

"AbstractHttpLogicHandler обеспечивает Функция кодирования/декодирования ответа HTTP-запроса
"

HttpSmartProxyHandler — это конкретный класс, расширяющий AbstractProxyLogicHandler. Этот класс выполняет свой контракт, обрабатывая ответ HTTP от прокси-сервера (путем реализации handleResponse(final HttpProxyResponse response))

person Destroyica    schedule 23.09.2011