public class org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator extends java.lang.Object implements org.apache.hc.client.http.io.HttpClientConnectionOperator
{
static final java.lang.String SOCKET_FACTORY_REGISTRY;
private static final org.slf4j.Logger LOG;
private final org.apache.hc.core.http.config.Lookup socketFactoryRegistry;
private final org.apache.hc.client.http.SchemePortResolver schemePortResolver;
private final org.apache.hc.client.http.DnsResolver dnsResolver;
public void <init>(org.apache.hc.core.http.config.Lookup, org.apache.hc.client.http.SchemePortResolver, org.apache.hc.client.http.DnsResolver)
{
org.apache.hc.core.http.config.Lookup v;
org.apache.hc.client.http.SchemePortResolver v, v;
org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator v;
org.apache.hc.client.http.DnsResolver v, v;
v := @this: org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator;
v := @parameter: org.apache.hc.core.http.config.Lookup;
v := @parameter: org.apache.hc.client.http.SchemePortResolver;
v := @parameter: org.apache.hc.client.http.DnsResolver;
specialinvoke v.<java.lang.Object: void <init>()>();
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Socket factory registry");
v.<org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.apache.hc.core.http.config.Lookup socketFactoryRegistry> = v;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.hc.client.http.impl.DefaultSchemePortResolver: org.apache.hc.client.http.impl.DefaultSchemePortResolver INSTANCE>;
label:
v.<org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.apache.hc.client.http.SchemePortResolver schemePortResolver> = v;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.hc.client.http.SystemDefaultDnsResolver: org.apache.hc.client.http.SystemDefaultDnsResolver INSTANCE>;
label:
v.<org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.apache.hc.client.http.DnsResolver dnsResolver> = v;
return;
}
private org.apache.hc.core.http.config.Lookup getSocketFactoryRegistry(org.apache.hc.core.http.protocol.HttpContext)
{
java.lang.Object v;
org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator v;
org.apache.hc.core.http.protocol.HttpContext v;
v := @this: org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator;
v := @parameter: org.apache.hc.core.http.protocol.HttpContext;
v = interfaceinvoke v.<org.apache.hc.core.http.protocol.HttpContext: java.lang.Object getAttribute(java.lang.String)>("http.socket-factory-registry");
if v != null goto label;
v = v.<org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.apache.hc.core.http.config.Lookup socketFactoryRegistry>;
label:
return v;
}
public void connect(org.apache.hc.client.http.io.ManagedHttpClientConnection, org.apache.hc.core.http.HttpHost, java.net.InetSocketAddress, org.apache.hc.core.util.TimeValue, org.apache.hc.core.http.io.SocketConfig, org.apache.hc.core.http.protocol.HttpContext) throws java.io.IOException
{
java.net.InetAddress[] v, v;
org.apache.hc.core.http.config.Lookup v;
java.net.InetAddress v, v, v;
org.apache.hc.client.http.SchemePortResolver v;
org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator v;
org.apache.hc.client.http.DnsResolver v;
boolean v, v, v, v, v, v, v, v;
org.apache.hc.core.util.TimeValue v, v;
org.apache.hc.core.http.io.SocketConfig v;
java.net.InetSocketAddress v, v;
org.apache.hc.core.util.Timeout v;
java.net.Socket v, v;
org.apache.hc.core.http.protocol.HttpContext v;
int v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v;
java.io.IOException v, v;
org.apache.hc.core.http.HttpHost v;
java.lang.Object v;
org.apache.hc.client.http.io.ManagedHttpClientConnection v;
org.apache.hc.client.http.UnsupportedSchemeException v;
v := @this: org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator;
v := @parameter: org.apache.hc.client.http.io.ManagedHttpClientConnection;
v := @parameter: org.apache.hc.core.http.HttpHost;
v := @parameter: java.net.InetSocketAddress;
v := @parameter: org.apache.hc.core.util.TimeValue;
v := @parameter: org.apache.hc.core.http.io.SocketConfig;
v := @parameter: org.apache.hc.core.http.protocol.HttpContext;
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Connection");
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Host");
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Socket config");
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Context");
v = specialinvoke v.<org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.apache.hc.core.http.config.Lookup getSocketFactoryRegistry(org.apache.hc.core.http.protocol.HttpContext)>(v);
v = virtualinvoke v.<org.apache.hc.core.http.HttpHost: java.lang.String getSchemeName()>();
v = interfaceinvoke v.<org.apache.hc.core.http.config.Lookup: java.lang.Object lookup(java.lang.String)>(v);
if v != null goto label;
v = new org.apache.hc.client.http.UnsupportedSchemeException;
v = virtualinvoke v.<org.apache.hc.core.http.HttpHost: java.lang.String getSchemeName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u protocol is not supported");
specialinvoke v.<org.apache.hc.client.http.UnsupportedSchemeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.hc.core.http.HttpHost: java.net.InetAddress getAddress()>();
if v == null goto label;
v = newarray (java.net.InetAddress)[1];
v = virtualinvoke v.<org.apache.hc.core.http.HttpHost: java.net.InetAddress getAddress()>();
v[0] = v;
goto label;
label:
v = v.<org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.apache.hc.client.http.DnsResolver dnsResolver>;
v = virtualinvoke v.<org.apache.hc.core.http.HttpHost: java.lang.String getHostName()>();
v = interfaceinvoke v.<org.apache.hc.client.http.DnsResolver: java.net.InetAddress[] resolve(java.lang.String)>(v);
label:
v = v;
v = v.<org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.apache.hc.client.http.SchemePortResolver schemePortResolver>;
v = interfaceinvoke v.<org.apache.hc.client.http.SchemePortResolver: int resolve(org.apache.hc.core.http.HttpHost)>(v);
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = lengthof v;
v = v - 1;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = interfaceinvoke v.<org.apache.hc.client.http.socket.ConnectionSocketFactory: java.net.Socket createSocket(org.apache.hc.core.http.protocol.HttpContext)>(v);
v = virtualinvoke v.<org.apache.hc.core.http.io.SocketConfig: org.apache.hc.core.util.Timeout getSoTimeout()>();
v = virtualinvoke v.<org.apache.hc.core.util.Timeout: int toMillisecondsIntBound()>();
virtualinvoke v.<java.net.Socket: void setSoTimeout(int)>(v);
v = virtualinvoke v.<org.apache.hc.core.http.io.SocketConfig: boolean isSoReuseAddress()>();
virtualinvoke v.<java.net.Socket: void setReuseAddress(boolean)>(v);
v = virtualinvoke v.<org.apache.hc.core.http.io.SocketConfig: boolean isTcpNoDelay()>();
virtualinvoke v.<java.net.Socket: void setTcpNoDelay(boolean)>(v);
v = virtualinvoke v.<org.apache.hc.core.http.io.SocketConfig: boolean isSoKeepAlive()>();
virtualinvoke v.<java.net.Socket: void setKeepAlive(boolean)>(v);
v = virtualinvoke v.<org.apache.hc.core.http.io.SocketConfig: int getRcvBufSize()>();
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.hc.core.http.io.SocketConfig: int getRcvBufSize()>();
virtualinvoke v.<java.net.Socket: void setReceiveBufferSize(int)>(v);
label:
v = virtualinvoke v.<org.apache.hc.core.http.io.SocketConfig: int getSndBufSize()>();
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.hc.core.http.io.SocketConfig: int getSndBufSize()>();
virtualinvoke v.<java.net.Socket: void setSendBufferSize(int)>(v);
label:
v = virtualinvoke v.<org.apache.hc.core.http.io.SocketConfig: org.apache.hc.core.util.TimeValue getSoLinger()>();
v = virtualinvoke v.<org.apache.hc.core.util.TimeValue: int toMillisecondsIntBound()>();
if v < 0 goto label;
virtualinvoke v.<java.net.Socket: void setSoLinger(boolean,int)>(1, v);
label:
interfaceinvoke v.<org.apache.hc.client.http.io.ManagedHttpClientConnection: void bind(java.net.Socket)>(v);
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.net.InetAddress,int)>(v, v);
v = <org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.slf4j.Logger LOG>;
v = staticinvoke <org.apache.hc.client.http.impl.ConnPoolSupport: java.lang.String getId(java.lang.Object)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("{} connecting to {}", v, v);
label:
v = interfaceinvoke v.<org.apache.hc.client.http.socket.ConnectionSocketFactory: java.net.Socket connectSocket(org.apache.hc.core.util.TimeValue,java.net.Socket,org.apache.hc.core.http.HttpHost,java.net.InetSocketAddress,java.net.InetSocketAddress,org.apache.hc.core.http.protocol.HttpContext)>(v, v, v, v, v, v);
interfaceinvoke v.<org.apache.hc.client.http.io.ManagedHttpClientConnection: void bind(java.net.Socket)>(v);
v = <org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.slf4j.Logger LOG>;
v = staticinvoke <org.apache.hc.client.http.impl.ConnPoolSupport: java.lang.String getId(java.lang.Object)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("{} connection established {}", v, v);
label:
return;
label:
v := @caughtexception;
if v == 0 goto label;
v = staticinvoke <org.apache.hc.client.http.ConnectExceptionSupport: java.io.IOException enhance(java.io.IOException,org.apache.hc.core.net.NamedEndpoint,java.net.InetAddress[])>(v, v, v);
throw v;
label:
v = <org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.slf4j.Logger LOG>;
v = staticinvoke <org.apache.hc.client.http.impl.ConnPoolSupport: java.lang.String getId(java.lang.Object)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("{} connect to {} timed out. Connection will be retried using another IP address", v, v);
label:
v = v + 1;
goto label;
label:
return;
catch java.io.IOException from label to label with label;
}
public void upgrade(org.apache.hc.client.http.io.ManagedHttpClientConnection, org.apache.hc.core.http.HttpHost, org.apache.hc.core.http.protocol.HttpContext) throws java.io.IOException
{
java.net.Socket v, v;
org.apache.hc.client.http.protocol.HttpClientContext v;
org.apache.hc.core.http.protocol.HttpContext v;
org.apache.hc.core.http.config.Lookup v;
org.apache.hc.client.http.socket.ConnectionSocketFactory v;
int v;
org.apache.hc.client.http.SchemePortResolver v;
java.lang.String v, v, v, v, v, v;
org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator v;
boolean v;
org.apache.hc.core.http.ConnectionClosedException v;
org.apache.hc.core.http.HttpHost v;
java.lang.Object v;
org.apache.hc.client.http.io.ManagedHttpClientConnection v;
org.apache.hc.client.http.UnsupportedSchemeException v, v;
v := @this: org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator;
v := @parameter: org.apache.hc.client.http.io.ManagedHttpClientConnection;
v := @parameter: org.apache.hc.core.http.HttpHost;
v := @parameter: org.apache.hc.core.http.protocol.HttpContext;
v = staticinvoke <org.apache.hc.client.http.protocol.HttpClientContext: org.apache.hc.client.http.protocol.HttpClientContext adapt(org.apache.hc.core.http.protocol.HttpContext)>(v);
v = specialinvoke v.<org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.apache.hc.core.http.config.Lookup getSocketFactoryRegistry(org.apache.hc.core.http.protocol.HttpContext)>(v);
v = virtualinvoke v.<org.apache.hc.core.http.HttpHost: java.lang.String getSchemeName()>();
v = interfaceinvoke v.<org.apache.hc.core.http.config.Lookup: java.lang.Object lookup(java.lang.String)>(v);
if v != null goto label;
v = new org.apache.hc.client.http.UnsupportedSchemeException;
v = virtualinvoke v.<org.apache.hc.core.http.HttpHost: java.lang.String getSchemeName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u protocol is not supported");
specialinvoke v.<org.apache.hc.client.http.UnsupportedSchemeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v instanceof org.apache.hc.client.http.socket.LayeredConnectionSocketFactory;
if v != 0 goto label;
v = new org.apache.hc.client.http.UnsupportedSchemeException;
v = virtualinvoke v.<org.apache.hc.core.http.HttpHost: java.lang.String getSchemeName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u protocol does not support connection upgrade");
specialinvoke v.<org.apache.hc.client.http.UnsupportedSchemeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<org.apache.hc.client.http.io.ManagedHttpClientConnection: java.net.Socket getSocket()>();
if v != null goto label;
v = new org.apache.hc.core.http.ConnectionClosedException;
specialinvoke v.<org.apache.hc.core.http.ConnectionClosedException: void <init>(java.lang.String)>("Connection is closed");
throw v;
label:
v = v.<org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.apache.hc.client.http.SchemePortResolver schemePortResolver>;
v = interfaceinvoke v.<org.apache.hc.client.http.SchemePortResolver: int resolve(org.apache.hc.core.http.HttpHost)>(v);
v = virtualinvoke v.<org.apache.hc.core.http.HttpHost: java.lang.String getHostName()>();
v = interfaceinvoke v.<org.apache.hc.client.http.socket.LayeredConnectionSocketFactory: java.net.Socket createLayeredSocket(java.net.Socket,java.lang.String,int,org.apache.hc.core.http.protocol.HttpContext)>(v, v, v, v);
interfaceinvoke v.<org.apache.hc.client.http.io.ManagedHttpClientConnection: void bind(java.net.Socket)>(v);
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/hc/client5/http/impl/io/DefaultHttpClientConnectionOperator;");
<org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: org.slf4j.Logger LOG> = v;
return;
}
}