org.sblim.cimclient.internal.http
Class HttpClient

java.lang.Object
  extended by org.sblim.cimclient.internal.http.HttpClient
All Implemented Interfaces:
EventListener, HandshakeCompletedListener

public class HttpClient
extends Object
implements HandshakeCompletedListener

Class HttpClient implements a HTTP client


Constructor Summary
HttpClient(URI url, HttpClientPool clientPool, AuthorizationHandler auth_handler)
          Ctor.
 
Method Summary
 void connect()
          Connects to the http server
static String convertToHexString(byte[] digest)
          Converts a byte array to a String of hex digits
protected static String dequote(String str)
           
 void disconnect()
          Disconnects the session
 void finalize()
           
protected  AuthorizationInfo getAuthentication(boolean proxy, AuthorizationInfo prevAuthInfo, String authenticate)
           
static HttpClient getClient(URI url, HttpClientPool clientPool, AuthorizationHandler auth_handler)
          Returns a client from a http client pool
 String getHeaderField(String name)
          Returns the http header field for a given name
 String getHeaderFieldName(int index)
          Return the http header field name for a given index
 String getHeaderFieldValue(int index)
          Returns the http header field value for a given index
 InputStream getInputStream()
          Returns the input stream of this http connection
 OutputStream getOutputStream()
          Returns the output stream of this http connection
 String getRequestMethod()
          Returns the request method
 String getRequestProperty(String key)
          Returns the request property for a given key
 int getResponseCode()
          Returns the response code
 String getResponseMessage()
          Returns the response message
protected static void handleRsp(String authInfo, AuthorizationInfo prevAuthInfo)
           
 void handshakeCompleted(HandshakeCompletedEvent event)
           
 boolean isConnected()
          Returns connected
protected static byte[] parseHex(String hex)
           
 void reset()
          Resets state
 void setRequestMethod(String method)
          Sets the request method
 void setRequestProperty(String key, String value)
          Sets the request property
 void streamFinished()
          Releases the client and returns it to the pool
 void streamFinished(boolean keep)
          Releases the client and returns it to the pool
 String toString()
           
 void useHttp11(boolean bool)
          Enables/Disables use of http 1.1
 boolean usingProxy()
          Returns if a proxy is used
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HttpClient

public HttpClient(URI url,
                  HttpClientPool clientPool,
                  AuthorizationHandler auth_handler)
Ctor.

Parameters:
url - The url to connect to
clientPool - The associated client pool
auth_handler - The authentication handler
Method Detail

convertToHexString

public static String convertToHexString(byte[] digest)
Converts a byte array to a String of hex digits

Parameters:
digest - The byte array
Returns:
The hex string

getClient

public static HttpClient getClient(URI url,
                                   HttpClientPool clientPool,
                                   AuthorizationHandler auth_handler)
Returns a client from a http client pool

Parameters:
url - The url to connect to
clientPool - The client pool
auth_handler - The authentication handler to use
Returns:
A http client from the pool

dequote

protected static String dequote(String str)

handleRsp

protected static void handleRsp(String authInfo,
                                AuthorizationInfo prevAuthInfo)
                         throws IOException
Throws:
IOException

parseHex

protected static byte[] parseHex(String hex)

connect

public void connect()
             throws IOException
Connects to the http server

Throws:
IOException

disconnect

public void disconnect()
Disconnects the session


finalize

public void finalize()
Overrides:
finalize in class Object

getHeaderFieldValue

public String getHeaderFieldValue(int index)
Returns the http header field value for a given index

Parameters:
index - The index
Returns:
The header field value

getHeaderField

public String getHeaderField(String name)
Returns the http header field for a given name

Parameters:
name - The name
Returns:
The header field

getHeaderFieldName

public String getHeaderFieldName(int index)
Return the http header field name for a given index

Parameters:
index - The index
Returns:
The name

getInputStream

public InputStream getInputStream()
                           throws IOException
Returns the input stream of this http connection

Returns:
The input stream
Throws:
IOException

getOutputStream

public OutputStream getOutputStream()
Returns the output stream of this http connection

Returns:
The output stream

getRequestMethod

public String getRequestMethod()
Returns the request method

Returns:
The request method

getRequestProperty

public String getRequestProperty(String key)
Returns the request property for a given key

Parameters:
key - The key
Returns:
The property

getResponseCode

public int getResponseCode()
                    throws IOException
Returns the response code

Returns:
The response code
Throws:
IOException

getResponseMessage

public String getResponseMessage()
Returns the response message

Returns:
The response message

handshakeCompleted

public void handshakeCompleted(HandshakeCompletedEvent event)
Specified by:
handshakeCompleted in interface HandshakeCompletedListener

reset

public void reset()
Resets state


setRequestMethod

public void setRequestMethod(String method)
Sets the request method

Parameters:
method - The request method

setRequestProperty

public void setRequestProperty(String key,
                               String value)
Sets the request property

Parameters:
key - The property name
value - The value

streamFinished

public void streamFinished()
Releases the client and returns it to the pool


streamFinished

public void streamFinished(boolean keep)
Releases the client and returns it to the pool

Parameters:
keep - if true return to the pool, if false drop.

useHttp11

public void useHttp11(boolean bool)
Enables/Disables use of http 1.1

Parameters:
bool - if true http 1.1 is enabled.

usingProxy

public boolean usingProxy()
Returns if a proxy is used

Returns:
true if a proxy is used

getAuthentication

protected AuthorizationInfo getAuthentication(boolean proxy,
                                              AuthorizationInfo prevAuthInfo,
                                              String authenticate)
                                       throws HttpParseException,
                                              NoSuchAlgorithmException
Throws:
HttpParseException
NoSuchAlgorithmException

isConnected

public boolean isConnected()
Returns connected

Returns:
The value of connected.

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2005, 2009 IBM Corporation. All Rights Reserved.