HTTPClient
Class TransferEncodingModule

java.lang.Object
  extended byHTTPClient.TransferEncodingModule
All Implemented Interfaces:
HTTPClientModule, HTTPClientModuleConstants

class TransferEncodingModule
extends Object
implements HTTPClientModule

This module handles the TransferEncoding response header. It currently handles the "gzip", "deflate", "compress", "chunked" and "identity" tokens.


Field Summary
 
Fields inherited from interface HTTPClient.HTTPClientModuleConstants
REQ_CONTINUE, REQ_NEWCON_RST, REQ_NEWCON_SND, REQ_RESPONSE, REQ_RESTART, REQ_RETURN, REQ_SHORTCIRC, RSP_CONTINUE, RSP_NEWCON_REQ, RSP_NEWCON_SND, RSP_REQUEST, RSP_RESTART, RSP_SEND, RSP_SHORTCIRC
 
Constructor Summary
(package private) TransferEncodingModule()
           
 
Method Summary
 int requestHandler(Request req, Response[] resp)
          Invoked by the HTTPClient.
 void responsePhase1Handler(Response resp, RoRequest req)
          Invoked by the HTTPClient.
 int responsePhase2Handler(Response resp, Request req)
          Invoked by the HTTPClient.
 void responsePhase3Handler(Response resp, RoRequest req)
          Invoked by the HTTPClient.
 void trailerHandler(Response resp, RoRequest req)
          Invoked by the HTTPClient.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransferEncodingModule

TransferEncodingModule()
Method Detail

requestHandler

public int requestHandler(Request req,
                          Response[] resp)
                   throws ModuleException
Invoked by the HTTPClient.

Specified by:
requestHandler in interface HTTPClientModule
Parameters:
req - the request - may be modified as needed
resp - the response if the status is REQ_RESPONSE or REQ_RETURN
Returns:
status code REQ_XXX specifying further action
Throws:
ModuleException - if an exception occurs during the handling of the request

responsePhase1Handler

public void responsePhase1Handler(Response resp,
                                  RoRequest req)
Invoked by the HTTPClient.

Specified by:
responsePhase1Handler in interface HTTPClientModule
Parameters:
resp - the response - may be modified
req - the original request

responsePhase2Handler

public int responsePhase2Handler(Response resp,
                                 Request req)
Invoked by the HTTPClient.

Specified by:
responsePhase2Handler in interface HTTPClientModule
Parameters:
resp - the response - may be modified
req - the request; if the status is RSP_REQUEST then this must contain the new request; however do not modify this if you don't return a RSP_REQUEST status.
Returns:
status code RSP_XXX specifying further action

responsePhase3Handler

public void responsePhase3Handler(Response resp,
                                  RoRequest req)
                           throws IOException,
                                  ModuleException
Invoked by the HTTPClient.

Specified by:
responsePhase3Handler in interface HTTPClientModule
Parameters:
resp - the response - may be modified
req - the original request
Throws:
ModuleException - if an exception occurs during the handling of the response
IOException - if an IOException occurs on the socket

trailerHandler

public void trailerHandler(Response resp,
                           RoRequest req)
Invoked by the HTTPClient.

Specified by:
trailerHandler in interface HTTPClientModule
Parameters:
resp - the response
req - the request