org.apache.mina.proxy.handlers.http

## Class AbstractHttpLogicHandler

- java.lang.Object
- - org.apache.mina.proxy.AbstractProxyLogicHandler
  - - org.apache.mina.proxy.handlers.http.AbstractHttpLogicHandler

- All Implemented Interfaces:
    ProxyLogicHandler
  Direct Known Subclasses:
    HttpSmartProxyHandler

      public abstract class AbstractHttpLogicHandler
      extends AbstractProxyLogicHandler

  AbstractHttpLogicHandler.java - Base class for HTTP proxy `AbstractProxyLogicHandler` implementations. Provides HTTP request encoding/response decoding functionality.
  Since:
    MINA 2.0.0-M3
  Author:
    Apache MINA Project

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractHttpLogicHandler(ProxyIoSession proxyIoSession)` Creates a new `AbstractHttpLogicHandler`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected HttpProxyResponse` | `decodeResponse(String response)` Parse a HTTP response from the proxy server.
    `abstract void` | `handleResponse(HttpProxyResponse response)` Handles a HTTP response from the proxy server.
    `void` | `messageReceived(IoFilter.NextFilter nextFilter, IoBuffer buf)` Handles incoming data during the handshake process.
    `void` | `writeRequest(IoFilter.NextFilter nextFilter, HttpProxyRequest request)` Calls`#writeRequest0(NextFilter, HttpProxyRequest)` to write the request.

    - ### Methods inherited from class org.apache.mina.proxy.AbstractProxyLogicHandler

      `closeSession, closeSession, enqueueWriteRequest, flushPendingWriteRequests, getProxyFilter, getProxyIoSession, getSession, isHandshakeComplete, setHandshakeComplete, writeData`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.mina.proxy.ProxyLogicHandler

      `doHandshake`

- - ### Constructor Detail

    - #### AbstractHttpLogicHandler

          public AbstractHttpLogicHandler(ProxyIoSession proxyIoSession)

      Creates a new `AbstractHttpLogicHandler`.
      Parameters:
        `proxyIoSession` - the `ProxyIoSession` in use.
        `request` - the requested url to negotiate with the proxy.

  - ### Method Detail

    - #### messageReceived

          public void messageReceived(IoFilter.NextFilter nextFilter,
                             IoBuffer buf)
                               throws ProxyAuthException

      Handles incoming data during the handshake process. Should consume only the handshake data from the buffer, leaving any extra data in place.
      Parameters:
        `nextFilter` - the next filter
        `buf` - the buffer holding received data
      Throws:
        `ProxyAuthException` - if authentication fails

    - #### handleResponse

          public abstract void handleResponse(HttpProxyResponse response)
                                       throws ProxyAuthException

      Handles a HTTP response from the proxy server.
      Parameters:
        `response` - The response.
      Throws:
        `ProxyAuthException`

    - #### writeRequest

          public void writeRequest(IoFilter.NextFilter nextFilter,
                          HttpProxyRequest request)

      Calls`#writeRequest0(NextFilter, HttpProxyRequest)` to write the request. If needed a reconnection to the proxy is done previously.
      Parameters:
        `nextFilter` - the next filter
        `request` - the http request

    - #### decodeResponse

          protected HttpProxyResponse decodeResponse(String response)
                                              throws Exception

      Parse a HTTP response from the proxy server.
      Parameters:
        `response` - The response string.
      Throws:
        `Exception`

Copyright © 2004-2012 Apache MINA Project. All Rights Reserved.