Class NoClientBindSSLProtocolSocketFactory

java.lang.Object
hudson.util.NoClientBindSSLProtocolSocketFactory
All Implemented Interfaces:
org.apache.commons.httpclient.protocol.ProtocolSocketFactory, org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory

public class NoClientBindSSLProtocolSocketFactory extends Object implements org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory
A SecureProtocolSocketFactory that creates sockets without binding to a specific interface. Based on org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory
  • Constructor Details

    • NoClientBindSSLProtocolSocketFactory

      public NoClientBindSSLProtocolSocketFactory()
      Constructor for SSLProtocolSocketFactory.
  • Method Details

    • 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
      See Also:
      • ProtocolSocketFactory.createSocket(java.lang.String,int,java.net.InetAddress,int)
    • createSocket

      public Socket createSocket(String host, int port, InetAddress localAddress, int localPort, org.apache.commons.httpclient.params.HttpConnectionParams params) throws IOException, UnknownHostException, org.apache.commons.httpclient.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 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, ignored.
      localPort - the port on the local machine, ignored.
      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
      org.apache.commons.httpclient.ConnectTimeoutException
      Since:
      3.0
    • createSocket

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

      public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException
      Specified by:
      createSocket in interface org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory
      Throws:
      IOException
      See Also:
      • SecureProtocolSocketFactory.createSocket(java.net.Socket,java.lang.String,int,boolean)
    • equals

      public boolean equals(Object obj)
      All instances are the same.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      All instances have the same hash code.
      Overrides:
      hashCode in class Object