Index: SSLProtocolSocketFactory.java =================================================================== RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/protocol/SSLProtocolSocketFactory.java,v retrieving revision 1.5 diff -u -r1.5 SSLProtocolSocketFactory.java --- SSLProtocolSocketFactory.java 31 Jan 2003 00:33:36 -0000 1.5 +++ SSLProtocolSocketFactory.java 2 Jul 2003 01:50:13 -0000 @@ -75,12 +75,19 @@ * * @author Michael Becke * @author Mike Bowler + * @author Gary Gregory * * @since 2.0 */ public class SSLProtocolSocketFactory implements SecureProtocolSocketFactory { /** + * The SSL socket factory to use. + * The default is javax.net.ssl.SSLSocketFactory.getDefault() + */ + private SSLSocketFactory sslSocketFactory = (SSLSocketFactory)SSLSocketFactory.getDefault(); + + /** * Constructor for SSLProtocolSocketFactory. */ public SSLProtocolSocketFactory() { @@ -88,6 +95,14 @@ } /** + * Constructor for SSLProtocolSocketFactory. + */ + public SSLProtocolSocketFactory(SSLSocketFactory sslSocketFactory) { + super(); + this.sslSocketFactory = sslSocketFactory; + } + + /** * @see SecureProtocolSocketFactory#createSocket(java.lang.String,int,java.net.InetAddress,int) */ public Socket createSocket( @@ -96,7 +111,7 @@ InetAddress clientHost, int clientPort) throws IOException, UnknownHostException { - return SSLSocketFactory.getDefault().createSocket( + return this.getSSLSocketFactory().createSocket( host, port, clientHost, @@ -109,7 +124,7 @@ */ public Socket createSocket(String host, int port) throws IOException, UnknownHostException { - return SSLSocketFactory.getDefault().createSocket( + return this.getSSLSocketFactory().createSocket( host, port ); @@ -124,12 +139,27 @@ int port, boolean autoClose) throws IOException, UnknownHostException { - return ((SSLSocketFactory) SSLSocketFactory.getDefault()).createSocket( + return this.getSSLSocketFactory().createSocket( socket, host, port, autoClose ); } + + /** + * Gets the SSLSocketFactory to use. + */ + public SSLSocketFactory getSSLSocketFactory() { + return this.sslSocketFactory; + } + + /** + * Sets the SSLSocketFactory to use. + */ + public void setSSLSocketFactory(SSLSocketFactory sslSocketFactory) { + this.sslSocketFactory = sslSocketFactory; + } + }