## HTTPClient
Class TransferEncodingModule

    java.lang.Object
      HTTPClient.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