org.apache.commons.httpclient.protocol

Class SSLProtocolSocketFactory

Implemented Interfaces:
ProtocolSocketFactory, SecureProtocolSocketFactory

public class SSLProtocolSocketFactory
extends java.lang.Object
implements SecureProtocolSocketFactory

A SecureProtocolSocketFactory that uses JSSE to create sockets.
Authors:
Michael Becke
Mike Bowler
Since:
2.0

Constructor Summary

SSLProtocolSocketFactory()
Constructor for SSLProtocolSocketFactory.

Method Summary

Socket
createSocket(Socket socket, String host, int port, boolean autoClose)
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, HttpConnectionParams params)
Attempts to get a new socket connection to the given host within the given time limit.
boolean
equals(Object obj)
All instances of SSLProtocolSocketFactory are the same.
int
hashCode()
All instances of SSLProtocolSocketFactory have the same hash code.

Constructor Details

SSLProtocolSocketFactory

public SSLProtocolSocketFactory()
Constructor for SSLProtocolSocketFactory.

Method Details

createSocket

public Socket createSocket(Socket socket,
                           String host,
                           int port,
                           boolean autoClose)
            throws IOException,
                   UnknownHostException
Specified by:
createSocket in interface SecureProtocolSocketFactory
See Also:
SecureProtocolSocketFactory.createSocket(java.net.Socket,java.lang.String,int,boolean)

createSocket

public Socket createSocket(String host,
                           int port)
            throws IOException,
                   UnknownHostException
Specified by:
createSocket in interface ProtocolSocketFactory
See Also:
SecureProtocolSocketFactory.createSocket(java.lang.String,int)

createSocket

public Socket createSocket(String host,
                           int port,
                           InetAddress clientHost,
                           int clientPort)
            throws IOException,
                   UnknownHostException
Specified by:
createSocket in interface ProtocolSocketFactory
See Also:
SecureProtocolSocketFactory.createSocket(java.lang.String,int,java.net.InetAddress,int)

createSocket

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

This method employs several techniques to circumvent the limitations of older JREs that do not support connect timeout. When running in JRE 1.4 or above reflection is used to call Socket#connect(SocketAddress endpoint, int timeout) method. When executing in older JREs 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 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
Since:
3.0

equals

public boolean equals(Object obj)
All instances of SSLProtocolSocketFactory are the same.

hashCode

public int hashCode()
All instances of SSLProtocolSocketFactory have the same hash code.

Copyright (c) 1999-2005 - Apache Software Foundation