Class HttpClient

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

    • 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 Details

    • 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

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable
    • 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