DefaultClientConnectionOperator - ability to set socket factory
---------------------------------------------------------------
Key: HTTPCLIENT-1169
URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1169
Project: HttpComponents HttpClient
Issue Type: Wish
Components: HttpClient
Environment: Android, api level 12.
Reporter: Alibek Jorajev
Priority: Minor
DefaultClientConnectionOperator internally uses plain socket factory:
private static final PlainSocketFactory staticPlainSocketFactory = new
PlainSocketFactory();
I could override DefaultHttpClient, createClientConnectionManager() method and
for HTTP scheme I can register my own socket factory. But for HTTPS, I would
like to keep org.apache.http.conn.ssl.SSLSocketFactory. but in the
DefaultClientConnectionOperator.openConnection(), I would like still to supply
my own plain socket which goes underneath of layered socket:
public void openConnection(OperatedClientConnection conn,
HttpHost target,
InetAddress local,
HttpContext context,
HttpParams params)
throws IOException {
.....
final Scheme schm = schemeRegistry.getScheme(target.getSchemeName());
final SocketFactory sf = schm.getSocketFactory();
final SocketFactory plain_sf;
final LayeredSocketFactory layered_sf;
if (sf instanceof LayeredSocketFactory) {
plain_sf = staticPlainSocketFactory; <=
======== I would like to replace this with my own factory. it is hard coded
now.
layered_sf = (LayeredSocketFactory)sf;
} else {
plain_sf = sf;
layered_sf = null;
}
. . . . .. . .
} // openConnection
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]