HTTPClient
Class AuthorizationModule

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

class AuthorizationModule
extends Object
implements HTTPClientModule

This module handles authentication requests. Authentication info is preemptively sent if any suitable candidate info is available. If a request returns with an appropriate status (401 or 407) then the necessary info is sought from the AuthenticationInfo class.


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) AuthorizationModule()
          Initialize counters for challenge and auth-info lists.
 
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

AuthorizationModule

AuthorizationModule()
Initialize counters for challenge and auth-info lists.

Method Detail

requestHandler

public int requestHandler(Request req,
                          Response[] resp)
                   throws IOException,
                          AuthSchemeNotImplException
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:
IOException - if an IOException occurs on the socket
AuthSchemeNotImplException

responsePhase1Handler

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

Specified by:
responsePhase1Handler in interface HTTPClientModule
Parameters:
resp - the response - may be modified
req - the original request
Throws:
IOException - if an IOException occurs on the socket

responsePhase2Handler

public int responsePhase2Handler(Response resp,
                                 Request req)
                          throws IOException,
                                 AuthSchemeNotImplException
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
Throws:
IOException - if an IOException occurs on the socket
AuthSchemeNotImplException

responsePhase3Handler

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

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

trailerHandler

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

Specified by:
trailerHandler in interface HTTPClientModule
Parameters:
resp - the response
req - the request
Throws:
IOException - if an IOException occurs on the socket