org.equanda.util.ymport
Class LenientSslProtocolSocketFactory

java.lang.Object
  extended by org.equanda.util.ymport.LenientSslProtocolSocketFactory
All Implemented Interfaces:
org.apache.commons.httpclient.protocol.ProtocolSocketFactory

public class LenientSslProtocolSocketFactory
extends Object
implements org.apache.commons.httpclient.protocol.ProtocolSocketFactory

A ssl socket factory for commons-httpclient which accepts self-signed certificates. Needs to be registered before use

Protocol myhttps = new Protocol( "https", new LenientSslProtocolSocketFactory(), 443 ); Protocol.registerProtocol( "https", myhttps );

Author:
Joachim Van der Auwera

Constructor Summary
LenientSslProtocolSocketFactory()
           
 
Method Summary
 Socket createSocket(String host, int port)
           
 Socket createSocket(String host, int port, InetAddress clientHost, int clientPort)
           
 Socket createSocket(String host, int port, InetAddress localAddress, int localPort, org.apache.commons.httpclient.params.HttpConnectionParams params)
          Attempts to get a new socket connection to the given host within the given time limit.
 boolean equals(Object obj)
           
 int hashCode()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LenientSslProtocolSocketFactory

public LenientSslProtocolSocketFactory()
Method Detail

createSocket

public Socket createSocket(String host,
                           int port,
                           InetAddress localAddress,
                           int localPort,
                           org.apache.commons.httpclient.params.HttpConnectionParams params)
                    throws IOException
Attempts to get a new socket connection to the given host within the given time limit.

To circumvent the limitations of older JREs that do not support connect timeout a controller thread is executed. The controller thread attempts to create a new socket within the given limit of time. If socket constructor does not return until the timeout expires, the controller terminates and throws an ConnectTimeoutException

Specified by:
createSocket in interface org.apache.commons.httpclient.protocol.ProtocolSocketFactory
Parameters:
host - the host name/IP
port - the port on the host
localAddress - the local host name/IP to bind the socket to
localPort - the port on the local machine
params - Http connection parameters
Returns:
Socket a new socket
Throws:
IOException - if an I/O error occurs while creating the socket
UnknownHostException - if the IP address of the host cannot be determined

createSocket

public Socket createSocket(String host,
                           int port,
                           InetAddress clientHost,
                           int clientPort)
                    throws IOException
Specified by:
createSocket in interface org.apache.commons.httpclient.protocol.ProtocolSocketFactory
Throws:
IOException

createSocket

public Socket createSocket(String host,
                           int port)
                    throws IOException
Specified by:
createSocket in interface org.apache.commons.httpclient.protocol.ProtocolSocketFactory
Throws:
IOException

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object


Copyright © 2007-2009. All Rights Reserved.