class org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler extends java.lang.Object implements org.apache.hc.core.http.nio.ResourceHolder
{
private final org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel;
private final org.apache.hc.core.http.nio.DataStreamChannel internalDataChannel;
private final org.apache.hc.core.http.protocol.HttpProcessor httpProcessor;
private final org.apache.hc.core.http.config.Http1Config http1Config;
private final org.apache.hc.core.http.ConnectionReuseStrategy connectionReuseStrategy;
private final org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler;
private final org.apache.hc.core.http.protocol.HttpCoreContext context;
private final java.util.concurrent.atomic.AtomicBoolean requestCommitted;
private final java.util.concurrent.atomic.AtomicBoolean done;
private volatile boolean keepAlive;
private volatile org.apache.hc.core.util.Timeout timeout;
private volatile org.apache.hc.core.http.HttpRequest committedRequest;
private volatile org.apache.hc.core.http.impl.nio.MessageState requestState;
private volatile org.apache.hc.core.http.impl.nio.MessageState responseState;
void <init>(org.apache.hc.core.http.impl.nio.Http1StreamChannel, org.apache.hc.core.http.protocol.HttpProcessor, org.apache.hc.core.http.config.Http1Config, org.apache.hc.core.http.ConnectionReuseStrategy, org.apache.hc.core.http.nio.AsyncClientExchangeHandler, org.apache.hc.core.http.protocol.HttpCoreContext)
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.protocol.HttpCoreContext v;
org.apache.hc.core.http.impl.nio.Http1StreamChannel v;
java.util.concurrent.atomic.AtomicBoolean v, v;
org.apache.hc.core.http.ConnectionReuseStrategy v;
org.apache.hc.core.http.nio.AsyncClientExchangeHandler v;
org.apache.hc.core.http.protocol.HttpProcessor v;
org.apache.hc.core.http.config.Http1Config v;
org.apache.hc.core.http.impl.nio.MessageState v, v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler$1 v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v := @parameter: org.apache.hc.core.http.impl.nio.Http1StreamChannel;
v := @parameter: org.apache.hc.core.http.protocol.HttpProcessor;
v := @parameter: org.apache.hc.core.http.config.Http1Config;
v := @parameter: org.apache.hc.core.http.ConnectionReuseStrategy;
v := @parameter: org.apache.hc.core.http.nio.AsyncClientExchangeHandler;
v := @parameter: org.apache.hc.core.http.protocol.HttpCoreContext;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel> = v;
v = new org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler$1;
specialinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler$1: void <init>(org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler,org.apache.hc.core.http.impl.nio.Http1StreamChannel)>(v, v);
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.DataStreamChannel internalDataChannel> = v;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpProcessor httpProcessor> = v;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.config.Http1Config http1Config> = v;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.ConnectionReuseStrategy connectionReuseStrategy> = v;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler> = v;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpCoreContext context> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: java.util.concurrent.atomic.AtomicBoolean requestCommitted> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: java.util.concurrent.atomic.AtomicBoolean done> = v;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean keepAlive> = 1;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState IDLE>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState> = v;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState HEADERS>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState responseState> = v;
return;
}
boolean isResponseFinal()
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.impl.nio.MessageState v, v;
boolean v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState responseState>;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState COMPLETE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
boolean isCompleted()
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.impl.nio.MessageState v, v, v, v;
boolean v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState>;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState COMPLETE>;
if v != v goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState responseState>;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState COMPLETE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
java.lang.String getRequestMethod()
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.HttpRequest v, v;
java.lang.String v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.HttpRequest committedRequest>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.HttpRequest committedRequest>;
v = interfaceinvoke v.<org.apache.hc.core.http.HttpRequest: java.lang.String getMethod()>();
goto label;
label:
v = null;
label:
return v;
}
boolean isOutputReady()
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.nio.AsyncClientExchangeHandler v;
int[] v;
int v, v, v;
org.apache.hc.core.http.impl.nio.MessageState v;
boolean v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v = <org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler$3: int[] $SwitchMap$org$apache$hc$core5$http$impl$nio$MessageState>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState>;
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.MessageState: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
return 1;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler>;
v = interfaceinvoke v.<org.apache.hc.core.http.nio.AsyncClientExchangeHandler: int available()>();
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 0;
}
private void commitRequest(org.apache.hc.core.http.HttpRequest, org.apache.hc.core.http.EntityDetails) throws java.io.IOException, org.apache.hc.core.http.HttpException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.protocol.HttpCoreContext v, v, v;
org.apache.hc.core.http.UnsupportedHttpVersionException v;
org.apache.hc.core.http.protocol.HttpProcessor v;
org.apache.hc.core.http.config.Http1Config v;
boolean v, v, v, v, v, v, v;
org.apache.hc.core.http.nio.DataStreamChannel v;
org.apache.hc.core.util.Timeout v, v;
org.apache.hc.core.http.impl.nio.Http1StreamChannel v, v, v, v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.hc.core.http.EntityDetails v;
org.apache.hc.core.http.nio.AsyncClientExchangeHandler v;
org.apache.hc.core.http.HttpVersion v;
java.lang.String v, v;
org.apache.hc.core.http.impl.nio.MessageState v, v, v;
org.apache.hc.core.http.HttpException v;
org.apache.hc.core.http.ProtocolVersion v, v;
org.apache.hc.core.http.Header v;
org.apache.hc.core.http.impl.nio.FlushMode v, v;
org.apache.hc.core.http.HttpRequest v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v := @parameter: org.apache.hc.core.http.HttpRequest;
v := @parameter: org.apache.hc.core.http.EntityDetails;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: java.util.concurrent.atomic.AtomicBoolean requestCommitted>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.hc.core.http.HttpRequest: org.apache.hc.core.http.ProtocolVersion getVersion()>();
if v == null goto label;
v = <org.apache.hc.core.http.HttpVersion: org.apache.hc.core.http.HttpVersion HTTP_2>;
v = virtualinvoke v.<org.apache.hc.core.http.ProtocolVersion: boolean greaterEquals(org.apache.hc.core.http.ProtocolVersion)>(v);
if v == 0 goto label;
v = new org.apache.hc.core.http.UnsupportedHttpVersionException;
specialinvoke v.<org.apache.hc.core.http.UnsupportedHttpVersionException: void <init>(org.apache.hc.core.http.ProtocolVersion)>(v);
throw v;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpCoreContext context>;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.hc.core.http.HttpVersion: org.apache.hc.core.http.HttpVersion HTTP_1_1>;
label:
virtualinvoke v.<org.apache.hc.core.http.protocol.HttpCoreContext: void setProtocolVersion(org.apache.hc.core.http.ProtocolVersion)>(v);
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpCoreContext context>;
virtualinvoke v.<org.apache.hc.core.http.protocol.HttpCoreContext: java.lang.Object setAttribute(java.lang.String,java.lang.Object)>("http.request", v);
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpProcessor httpProcessor>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpCoreContext context>;
interfaceinvoke v.<org.apache.hc.core.http.protocol.HttpProcessor: void process(org.apache.hc.core.http.HttpRequest,org.apache.hc.core.http.EntityDetails,org.apache.hc.core.http.protocol.HttpContext)>(v, v, v);
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel>;
v = <org.apache.hc.core.http.impl.nio.FlushMode: org.apache.hc.core.http.impl.nio.FlushMode IMMEDIATE>;
interfaceinvoke v.<org.apache.hc.core.http.impl.nio.Http1StreamChannel: void submit(org.apache.hc.core.http.HttpMessage,boolean,org.apache.hc.core.http.impl.nio.FlushMode)>(v, v, v);
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.HttpRequest committedRequest> = v;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState COMPLETE>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState> = v;
goto label;
label:
v = interfaceinvoke v.<org.apache.hc.core.http.HttpRequest: org.apache.hc.core.http.Header getFirstHeader(java.lang.String)>("Expect");
if v == null goto label;
v = "100-continue";
v = interfaceinvoke v.<org.apache.hc.core.http.Header: java.lang.String getValue()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel>;
if v == 0 goto label;
v = <org.apache.hc.core.http.impl.nio.FlushMode: org.apache.hc.core.http.impl.nio.FlushMode IMMEDIATE>;
goto label;
label:
v = <org.apache.hc.core.http.impl.nio.FlushMode: org.apache.hc.core.http.impl.nio.FlushMode BUFFER>;
label:
interfaceinvoke v.<org.apache.hc.core.http.impl.nio.Http1StreamChannel: void submit(org.apache.hc.core.http.HttpMessage,boolean,org.apache.hc.core.http.impl.nio.FlushMode)>(v, v, v);
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.HttpRequest committedRequest> = v;
if v == 0 goto label;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState ACK>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState> = v;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel>;
v = interfaceinvoke v.<org.apache.hc.core.http.impl.nio.Http1StreamChannel: org.apache.hc.core.util.Timeout getSocketTimeout()>();
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.util.Timeout timeout> = v;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.config.Http1Config http1Config>;
v = virtualinvoke v.<org.apache.hc.core.http.config.Http1Config: org.apache.hc.core.util.Timeout getWaitForContinueTimeout()>();
interfaceinvoke v.<org.apache.hc.core.http.impl.nio.Http1StreamChannel: void setSocketTimeout(org.apache.hc.core.util.Timeout)>(v);
goto label;
label:
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState BODY>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState> = v;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.DataStreamChannel internalDataChannel>;
interfaceinvoke v.<org.apache.hc.core.http.nio.AsyncClientExchangeHandler: void produce(org.apache.hc.core.http.nio.DataStreamChannel)>(v);
goto label;
label:
v = new org.apache.hc.core.http.HttpException;
specialinvoke v.<org.apache.hc.core.http.HttpException: void <init>(java.lang.String)>("Request already committed");
throw v;
label:
return;
}
void produceOutput() throws org.apache.hc.core.http.HttpException, java.io.IOException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.protocol.HttpCoreContext v;
org.apache.hc.core.http.nio.DataStreamChannel v;
org.apache.hc.core.http.impl.nio.Http1StreamChannel v;
org.apache.hc.core.http.nio.AsyncClientExchangeHandler v, v;
int[] v;
int v, v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler$2 v;
org.apache.hc.core.http.impl.nio.MessageState v, v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v = <org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler$3: int[] $SwitchMap$org$apache$hc$core5$http$impl$nio$MessageState>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState>;
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.MessageState: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState HEADERS>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState> = v;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler>;
v = new org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler$2;
specialinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler$2: void <init>(org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler)>(v);
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpCoreContext context>;
interfaceinvoke v.<org.apache.hc.core.http.nio.AsyncClientExchangeHandler: void produceRequest(org.apache.hc.core.http.nio.RequestChannel,org.apache.hc.core.http.protocol.HttpContext)>(v, v);
goto label;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel>;
interfaceinvoke v.<org.apache.hc.core.http.impl.nio.Http1StreamChannel: void suspendOutput()>();
goto label;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.DataStreamChannel internalDataChannel>;
interfaceinvoke v.<org.apache.hc.core.http.nio.AsyncClientExchangeHandler: void produce(org.apache.hc.core.http.nio.DataStreamChannel)>(v);
label:
return;
}
void consumeHeader(org.apache.hc.core.http.HttpResponse, org.apache.hc.core.http.EntityDetails) throws org.apache.hc.core.http.HttpException, java.io.IOException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.protocol.HttpCoreContext v, v, v, v, v, v;
org.apache.hc.core.http.UnsupportedHttpVersionException v;
org.apache.hc.core.http.protocol.HttpProcessor v;
boolean v, v, v, v, v;
org.apache.hc.core.http.nio.DataStreamChannel v;
org.apache.hc.core.http.ConnectionReuseStrategy v;
org.apache.hc.core.util.Timeout v;
org.apache.hc.core.http.impl.nio.Http1StreamChannel v, v, v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.hc.core.http.EntityDetails v;
org.apache.hc.core.http.message.StatusLine v;
org.apache.hc.core.http.nio.AsyncClientExchangeHandler v, v, v;
org.apache.hc.core.http.HttpVersion v;
int v;
org.apache.hc.core.http.HttpResponse v;
java.lang.String v;
org.apache.hc.core.http.impl.nio.MessageState v, v, v, v, v, v, v, v, v, v;
org.apache.hc.core.http.ProtocolVersion v, v;
org.apache.hc.core.http.ProtocolException v, v;
org.apache.hc.core.http.HttpRequest v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v := @parameter: org.apache.hc.core.http.HttpResponse;
v := @parameter: org.apache.hc.core.http.EntityDetails;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: java.util.concurrent.atomic.AtomicBoolean done>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState responseState>;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState HEADERS>;
if v == v goto label;
label:
v = new org.apache.hc.core.http.ProtocolException;
specialinvoke v.<org.apache.hc.core.http.ProtocolException: void <init>(java.lang.String)>("Unexpected message head");
throw v;
label:
v = interfaceinvoke v.<org.apache.hc.core.http.HttpResponse: org.apache.hc.core.http.ProtocolVersion getVersion()>();
if v == null goto label;
v = <org.apache.hc.core.http.HttpVersion: org.apache.hc.core.http.HttpVersion HTTP_2>;
v = virtualinvoke v.<org.apache.hc.core.http.ProtocolVersion: boolean greaterEquals(org.apache.hc.core.http.ProtocolVersion)>(v);
if v == 0 goto label;
v = new org.apache.hc.core.http.UnsupportedHttpVersionException;
specialinvoke v.<org.apache.hc.core.http.UnsupportedHttpVersionException: void <init>(org.apache.hc.core.http.ProtocolVersion)>(v);
throw v;
label:
v = interfaceinvoke v.<org.apache.hc.core.http.HttpResponse: int getCode()>();
if v >= 100 goto label;
v = new org.apache.hc.core.http.ProtocolException;
v = new org.apache.hc.core.http.message.StatusLine;
specialinvoke v.<org.apache.hc.core.http.message.StatusLine: void <init>(org.apache.hc.core.http.HttpResponse)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.hc.core.http.message.StatusLine)>(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[])>("Invalid response: \u0001");
specialinvoke v.<org.apache.hc.core.http.ProtocolException: void <init>(java.lang.String)>(v);
throw v;
label:
if v <= 100 goto label;
if v >= 200 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpCoreContext context>;
interfaceinvoke v.<org.apache.hc.core.http.nio.AsyncClientExchangeHandler: void consumeInformation(org.apache.hc.core.http.HttpResponse,org.apache.hc.core.http.protocol.HttpContext)>(v, v);
goto label;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.ConnectionReuseStrategy connectionReuseStrategy>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.HttpRequest committedRequest>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpCoreContext context>;
v = interfaceinvoke v.<org.apache.hc.core.http.ConnectionReuseStrategy: boolean keepAlive(org.apache.hc.core.http.HttpRequest,org.apache.hc.core.http.HttpResponse,org.apache.hc.core.http.protocol.HttpContext)>(v, v, v);
if v != 0 goto label;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean keepAlive> = 0;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState>;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState ACK>;
if v != v goto label;
if v == 100 goto label;
if v < 200 goto label;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.util.Timeout timeout>;
interfaceinvoke v.<org.apache.hc.core.http.impl.nio.Http1StreamChannel: void setSocketTimeout(org.apache.hc.core.util.Timeout)>(v);
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState BODY>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState> = v;
if v >= 400 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.DataStreamChannel internalDataChannel>;
interfaceinvoke v.<org.apache.hc.core.http.nio.AsyncClientExchangeHandler: void produce(org.apache.hc.core.http.nio.DataStreamChannel)>(v);
label:
if v >= 200 goto label;
return;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState>;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState BODY>;
if v != v goto label;
if v < 400 goto label;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState COMPLETE>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState> = v;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel>;
v = interfaceinvoke v.<org.apache.hc.core.http.impl.nio.Http1StreamChannel: boolean abortGracefully()>();
if v != 0 goto label;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean keepAlive> = 0;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpCoreContext context>;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.hc.core.http.HttpVersion: org.apache.hc.core.http.HttpVersion HTTP_1_1>;
label:
virtualinvoke v.<org.apache.hc.core.http.protocol.HttpCoreContext: void setProtocolVersion(org.apache.hc.core.http.ProtocolVersion)>(v);
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpCoreContext context>;
virtualinvoke v.<org.apache.hc.core.http.protocol.HttpCoreContext: java.lang.Object setAttribute(java.lang.String,java.lang.Object)>("http.response", v);
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpProcessor httpProcessor>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpCoreContext context>;
interfaceinvoke v.<org.apache.hc.core.http.protocol.HttpProcessor: void process(org.apache.hc.core.http.HttpResponse,org.apache.hc.core.http.EntityDetails,org.apache.hc.core.http.protocol.HttpContext)>(v, v, v);
if v != null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean keepAlive>;
if v != 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel>;
interfaceinvoke v.<org.apache.hc.core.http.impl.nio.Http1StreamChannel: void close()>();
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.protocol.HttpCoreContext context>;
interfaceinvoke v.<org.apache.hc.core.http.nio.AsyncClientExchangeHandler: void consumeResponse(org.apache.hc.core.http.HttpResponse,org.apache.hc.core.http.EntityDetails,org.apache.hc.core.http.protocol.HttpContext)>(v, v, v);
if v != null goto label;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState COMPLETE>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState responseState> = v;
goto label;
label:
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState BODY>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState responseState> = v;
label:
return;
}
void consumeData(java.nio.ByteBuffer) throws org.apache.hc.core.http.HttpException, java.io.IOException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.ProtocolException v;
java.util.concurrent.atomic.AtomicBoolean v;
java.nio.ByteBuffer v;
org.apache.hc.core.http.nio.AsyncClientExchangeHandler v;
org.apache.hc.core.http.impl.nio.MessageState v, v;
boolean v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v := @parameter: java.nio.ByteBuffer;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: java.util.concurrent.atomic.AtomicBoolean done>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState responseState>;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState BODY>;
if v == v goto label;
label:
v = new org.apache.hc.core.http.ProtocolException;
specialinvoke v.<org.apache.hc.core.http.ProtocolException: void <init>(java.lang.String)>("Unexpected message data");
throw v;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler>;
interfaceinvoke v.<org.apache.hc.core.http.nio.AsyncClientExchangeHandler: void consume(java.nio.ByteBuffer)>(v);
return;
}
void updateCapacity(org.apache.hc.core.http.nio.CapacityChannel) throws java.io.IOException
{
org.apache.hc.core.http.nio.AsyncClientExchangeHandler v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.nio.CapacityChannel v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v := @parameter: org.apache.hc.core.http.nio.CapacityChannel;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler>;
interfaceinvoke v.<org.apache.hc.core.http.nio.AsyncClientExchangeHandler: void updateCapacity(org.apache.hc.core.http.nio.CapacityChannel)>(v);
return;
}
void dataEnd(java.util.List) throws org.apache.hc.core.http.HttpException, java.io.IOException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.impl.nio.Http1StreamChannel v;
org.apache.hc.core.http.ProtocolException v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.hc.core.http.nio.AsyncClientExchangeHandler v;
java.util.List v;
org.apache.hc.core.http.impl.nio.MessageState v, v, v;
boolean v, v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v := @parameter: java.util.List;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: java.util.concurrent.atomic.AtomicBoolean done>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState responseState>;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState BODY>;
if v == v goto label;
label:
v = new org.apache.hc.core.http.ProtocolException;
specialinvoke v.<org.apache.hc.core.http.ProtocolException: void <init>(java.lang.String)>("Unexpected message data");
throw v;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean keepAlive>;
if v != 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel>;
interfaceinvoke v.<org.apache.hc.core.http.impl.nio.Http1StreamChannel: void close()>();
label:
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState COMPLETE>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState responseState> = v;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler>;
interfaceinvoke v.<org.apache.hc.core.http.nio.AsyncClientExchangeHandler: void streamEnd(java.util.List)>(v);
return;
}
boolean handleTimeout()
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.impl.nio.Http1StreamChannel v, v;
org.apache.hc.core.util.Timeout v;
org.apache.hc.core.http.impl.nio.MessageState v, v, v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState>;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState ACK>;
if v != v goto label;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState BODY>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState> = v;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.util.Timeout timeout>;
interfaceinvoke v.<org.apache.hc.core.http.impl.nio.Http1StreamChannel: void setSocketTimeout(org.apache.hc.core.util.Timeout)>(v);
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel>;
interfaceinvoke v.<org.apache.hc.core.http.impl.nio.Http1StreamChannel: void requestOutput()>();
return 1;
label:
return 0;
}
void failed(java.lang.Exception)
{
org.apache.hc.core.http.nio.AsyncClientExchangeHandler v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.Exception v;
boolean v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v := @parameter: java.lang.Exception;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: java.util.concurrent.atomic.AtomicBoolean done>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler>;
interfaceinvoke v.<org.apache.hc.core.http.nio.AsyncClientExchangeHandler: void failed(java.lang.Exception)>(v);
label:
return;
}
public void releaseResources()
{
org.apache.hc.core.http.nio.AsyncClientExchangeHandler v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.hc.core.http.impl.nio.MessageState v, v;
boolean v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: java.util.concurrent.atomic.AtomicBoolean done>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState COMPLETE>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState responseState> = v;
v = <org.apache.hc.core.http.impl.nio.MessageState: org.apache.hc.core.http.impl.nio.MessageState COMPLETE>;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState> = v;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.nio.AsyncClientExchangeHandler exchangeHandler>;
interfaceinvoke v.<org.apache.hc.core.http.nio.AsyncClientExchangeHandler: void releaseResources()>();
label:
return;
}
void appendState(java.lang.StringBuilder)
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
java.util.concurrent.atomic.AtomicBoolean v, v;
org.apache.hc.core.http.impl.nio.MessageState v, v;
boolean v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v, v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v := @parameter: java.lang.StringBuilder;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("requestState=");
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState requestState>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", responseState=");
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: org.apache.hc.core.http.impl.nio.MessageState responseState>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", responseCommitted=");
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: java.util.concurrent.atomic.AtomicBoolean requestCommitted>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", keepAlive=");
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean keepAlive>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(boolean)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", done=");
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: java.util.concurrent.atomic.AtomicBoolean done>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
return;
}
public java.lang.String toString()
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
java.lang.StringBuilder v;
java.lang.String v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[");
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void appendState(java.lang.StringBuilder)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("]");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
}