public void handleConnectOriginal ( String pathInContext , String pathParams , HttpRequest request , HttpResponse response ) throws HttpException , IOException { URI uri = request . getURI ( ) ; try { LOG . fine ( "CONNECT: " + uri ) ; InetAddrPort addrPort ; // When logging, we'll attempt to send messages to hosts that don't exist if ( uri . toString ( ) . endsWith ( ".selenium.doesnotexist:443" ) ) { // so we have to do set the host to be localhost (you can't new up an IAP with a non-existent hostname) addrPort = new InetAddrPort ( 443 ) ; } else { addrPort = new InetAddrPort ( uri . toString ( ) ) ; } if ( isForbidden ( HttpMessage . __SSL_SCHEME , addrPort . getHost ( ) , addrPort . getPort ( ) , false ) ) { sendForbid ( request , response , uri ) ; } else { HttpConnection http_connection = request . getHttpConnection ( ) ; http_connection . forceClose ( ) ; HttpServer server = http_connection . getHttpServer ( ) ; SslListener listener = getSslRelayOrCreateNewOdo ( uri , addrPort , server ) ; int port = listener . getPort ( ) ; // Get the timeout int timeoutMs = 30000 ; Object maybesocket = http_connection . getConnection ( ) ; if ( maybesocket instanceof Socket ) { Socket s = ( Socket ) maybesocket ; timeoutMs = s . getSoTimeout ( ) ; } // Create the tunnel HttpTunnel tunnel = newHttpTunnel ( request , response , InetAddress . getByName ( null ) , port , timeoutMs ) ; if ( tunnel != null ) { // TODO - need to setup semi-busy loop for IE. if ( _tunnelTimeoutMs > 0 ) { tunnel . getSocket ( ) . setSoTimeout ( _tunnelTimeoutMs ) ; if ( maybesocket instanceof Socket ) { Socket s = ( Socket ) maybesocket ; s . setSoTimeout ( _tunnelTimeoutMs ) ; } } tunnel . setTimeoutMs ( timeoutMs ) ; customizeConnection ( pathInContext , pathParams , request , tunnel . getSocket ( ) ) ; request . getHttpConnection ( ) . setHttpTunnel ( tunnel ) ; response . setStatus ( HttpResponse . __200_OK ) ; response . setContentLength ( 0 ) ; } request . setHandled ( true ) ; } } catch ( Exception e ) { LOG . fine ( "error during handleConnect" , e ) ; response . sendError ( HttpResponse . __500_Internal_Server_Error , e . toString ( ) ) ; } }
Copied from original SeleniumProxyHandler Changed SslRelay to SslListener and getSslRelayOrCreateNew to getSslRelayOrCreateNewOdo No other changes to the function