org.sblim.cimclient.internal.http
Class HttpClient

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

public class HttpClient
extends java.lang.Object
implements javax.net.ssl.HandshakeCompletedListener

Class HttpClient implements a HTTP client


Constructor Summary
HttpClient(java.net.URI url, HttpClientPool clientPool, AuthorizationHandler auth_handler)
          Ctor.
 
Method Summary
 void connect()
          Connects to the http server
static java.lang.String convertToHexString(byte[] digest)
          Converts a byte array to a String of hex digits
protected static java.lang.String dequote(java.lang.String str)
           
 void disconnect()
          Disconnects the session
protected  void finalize()
           
protected  AuthorizationInfo getAuthentication(boolean proxy, AuthorizationInfo prevAuthInfo, java.lang.String authenticate)
           
static HttpClient getClient(java.net.URI url, HttpClientPool clientPool, AuthorizationHandler auth_handler)
          Returns a client from a http client pool
 java.lang.String getHeaderField(java.lang.String name)
          Returns the http header field for a given name
 java.lang.String getHeaderFieldName(int index)
          Return the http header field name for a given index
 java.lang.String getHeaderFieldValue(int index)
          Returns the http header field value for a given index
 java.io.InputStream getInputStream()
          Returns the input stream of this http connection
 java.io.OutputStream getOutputStream()
          Returns the output stream of this http connection
 java.lang.String getRequestMethod()
          Returns the request method
 java.lang.String getRequestProperty(java.lang.String key)
          Returns the request property for a given key
 int getResponseCode()
          Returns the response code
 java.lang.String getResponseMessage()
          Returns the response message
protected static void handleRsp(java.lang.String authInfo, AuthorizationInfo prevAuthInfo)
           
 void handshakeCompleted(javax.net.ssl.HandshakeCompletedEvent event)
           
 boolean isConnected()
          Returns connected
protected static byte[] parseHex(java.lang.String hex)
           
 void reset()
          Resets state
 void setRequestMethod(java.lang.String method)
          Sets the request method
 void setRequestProperty(java.lang.String key, java.lang.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
 java.lang.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(java.net.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 java.lang.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(java.net.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 java.lang.String dequote(java.lang.String str)

handleRsp

protected static void handleRsp(java.lang.String authInfo,
                                AuthorizationInfo prevAuthInfo)
                         throws java.io.IOException
Throws:
java.io.IOException

parseHex

protected static byte[] parseHex(java.lang.String hex)

connect

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

Throws:
java.io.IOException

disconnect

public void disconnect()
Disconnects the session


finalize

protected void finalize()
                 throws java.lang.Throwable
Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable

getHeaderFieldValue

public java.lang.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 java.lang.String getHeaderField(java.lang.String name)
Returns the http header field for a given name

Parameters:
name - The name
Returns:
The header field

getHeaderFieldName

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

Parameters:
index - The index
Returns:
The name

getInputStream

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

Returns:
The input stream
Throws:
java.io.IOException

getOutputStream

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

Returns:
The output stream

getRequestMethod

public java.lang.String getRequestMethod()
Returns the request method

Returns:
The request method

getRequestProperty

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

Parameters:
key - The key
Returns:
The property

getResponseCode

public int getResponseCode()
                    throws java.io.IOException
Returns the response code

Returns:
The response code
Throws:
java.io.IOException

getResponseMessage

public java.lang.String getResponseMessage()
Returns the response message

Returns:
The response message

handshakeCompleted

public void handshakeCompleted(javax.net.ssl.HandshakeCompletedEvent event)
Specified by:
handshakeCompleted in interface javax.net.ssl.HandshakeCompletedListener

reset

public void reset()
Resets state


setRequestMethod

public void setRequestMethod(java.lang.String method)
Sets the request method

Parameters:
method - The request method

setRequestProperty

public void setRequestProperty(java.lang.String key,
                               java.lang.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,
                                              java.lang.String authenticate)
                                       throws HttpParseException,
                                              java.security.NoSuchAlgorithmException
Throws:
HttpParseException
java.security.NoSuchAlgorithmException

isConnected

public boolean isConnected()
Returns connected

Returns:
The value of connected.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


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