public class org.apache.hc.core.http.impl.io.HttpService extends java.lang.Object
{
private final org.apache.hc.core.http.protocol.HttpProcessor processor;
private final org.apache.hc.core.http.io.HttpServerRequestHandler requestHandler;
private final org.apache.hc.core.http.ConnectionReuseStrategy connReuseStrategy;
private final org.apache.hc.core.http.impl.Http1StreamListener streamListener;
public void <init>(org.apache.hc.core.http.protocol.HttpProcessor, org.apache.hc.core.http.HttpRequestMapper, org.apache.hc.core.http.ConnectionReuseStrategy, org.apache.hc.core.http.HttpResponseFactory, org.apache.hc.core.http.impl.Http1StreamListener)
{
org.apache.hc.core.http.io.support.BasicHttpServerExpectationDecorator v;
org.apache.hc.core.http.ConnectionReuseStrategy v;
org.apache.hc.core.http.HttpResponseFactory v;
org.apache.hc.core.http.HttpRequestMapper v;
org.apache.hc.core.http.io.support.BasicHttpServerRequestHandler v;
org.apache.hc.core.http.protocol.HttpProcessor v;
org.apache.hc.core.http.impl.io.HttpService v;
org.apache.hc.core.http.impl.Http1StreamListener v;
v := @this: org.apache.hc.core.http.impl.io.HttpService;
v := @parameter: org.apache.hc.core.http.protocol.HttpProcessor;
v := @parameter: org.apache.hc.core.http.HttpRequestMapper;
v := @parameter: org.apache.hc.core.http.ConnectionReuseStrategy;
v := @parameter: org.apache.hc.core.http.HttpResponseFactory;
v := @parameter: org.apache.hc.core.http.impl.Http1StreamListener;
v = new org.apache.hc.core.http.io.support.BasicHttpServerExpectationDecorator;
v = new org.apache.hc.core.http.io.support.BasicHttpServerRequestHandler;
specialinvoke v.<org.apache.hc.core.http.io.support.BasicHttpServerRequestHandler: void <init>(org.apache.hc.core.http.HttpRequestMapper,org.apache.hc.core.http.HttpResponseFactory)>(v, v);
specialinvoke v.<org.apache.hc.core.http.io.support.BasicHttpServerExpectationDecorator: void <init>(org.apache.hc.core.http.io.HttpServerRequestHandler)>(v);
specialinvoke v.<org.apache.hc.core.http.impl.io.HttpService: void <init>(org.apache.hc.core.http.protocol.HttpProcessor,org.apache.hc.core.http.io.HttpServerRequestHandler,org.apache.hc.core.http.ConnectionReuseStrategy,org.apache.hc.core.http.impl.Http1StreamListener)>(v, v, v, v);
return;
}
public void <init>(org.apache.hc.core.http.protocol.HttpProcessor, org.apache.hc.core.http.HttpRequestMapper, org.apache.hc.core.http.ConnectionReuseStrategy, org.apache.hc.core.http.HttpResponseFactory)
{
org.apache.hc.core.http.HttpRequestMapper v;
org.apache.hc.core.http.protocol.HttpProcessor v;
org.apache.hc.core.http.impl.io.HttpService v;
org.apache.hc.core.http.ConnectionReuseStrategy v;
org.apache.hc.core.http.HttpResponseFactory v;
v := @this: org.apache.hc.core.http.impl.io.HttpService;
v := @parameter: org.apache.hc.core.http.protocol.HttpProcessor;
v := @parameter: org.apache.hc.core.http.HttpRequestMapper;
v := @parameter: org.apache.hc.core.http.ConnectionReuseStrategy;
v := @parameter: org.apache.hc.core.http.HttpResponseFactory;
specialinvoke v.<org.apache.hc.core.http.impl.io.HttpService: void <init>(org.apache.hc.core.http.protocol.HttpProcessor,org.apache.hc.core.http.HttpRequestMapper,org.apache.hc.core.http.ConnectionReuseStrategy,org.apache.hc.core.http.HttpResponseFactory,org.apache.hc.core.http.impl.Http1StreamListener)>(v, v, v, v, null);
return;
}
public void <init>(org.apache.hc.core.http.protocol.HttpProcessor, org.apache.hc.core.http.io.HttpServerRequestHandler, org.apache.hc.core.http.ConnectionReuseStrategy, org.apache.hc.core.http.impl.Http1StreamListener)
{
org.apache.hc.core.http.ConnectionReuseStrategy v, v;
org.apache.hc.core.http.io.HttpServerRequestHandler v;
org.apache.hc.core.http.protocol.HttpProcessor v;
java.lang.Object v, v;
org.apache.hc.core.http.impl.io.HttpService v;
org.apache.hc.core.http.impl.Http1StreamListener v;
v := @this: org.apache.hc.core.http.impl.io.HttpService;
v := @parameter: org.apache.hc.core.http.protocol.HttpProcessor;
v := @parameter: org.apache.hc.core.http.io.HttpServerRequestHandler;
v := @parameter: org.apache.hc.core.http.ConnectionReuseStrategy;
v := @parameter: org.apache.hc.core.http.impl.Http1StreamListener;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "HTTP processor");
v.<org.apache.hc.core.http.impl.io.HttpService: org.apache.hc.core.http.protocol.HttpProcessor processor> = v;
v = staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Request handler");
v.<org.apache.hc.core.http.impl.io.HttpService: org.apache.hc.core.http.io.HttpServerRequestHandler requestHandler> = v;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.hc.core.http.impl.DefaultConnectionReuseStrategy: org.apache.hc.core.http.impl.DefaultConnectionReuseStrategy INSTANCE>;
label:
v.<org.apache.hc.core.http.impl.io.HttpService: org.apache.hc.core.http.ConnectionReuseStrategy connReuseStrategy> = v;
v.<org.apache.hc.core.http.impl.io.HttpService: org.apache.hc.core.http.impl.Http1StreamListener streamListener> = v;
return;
}
public void <init>(org.apache.hc.core.http.protocol.HttpProcessor, org.apache.hc.core.http.io.HttpServerRequestHandler)
{
org.apache.hc.core.http.protocol.HttpProcessor v;
org.apache.hc.core.http.impl.io.HttpService v;
org.apache.hc.core.http.io.HttpServerRequestHandler v;
v := @this: org.apache.hc.core.http.impl.io.HttpService;
v := @parameter: org.apache.hc.core.http.protocol.HttpProcessor;
v := @parameter: org.apache.hc.core.http.io.HttpServerRequestHandler;
specialinvoke v.<org.apache.hc.core.http.impl.io.HttpService: void <init>(org.apache.hc.core.http.protocol.HttpProcessor,org.apache.hc.core.http.io.HttpServerRequestHandler,org.apache.hc.core.http.ConnectionReuseStrategy,org.apache.hc.core.http.impl.Http1StreamListener)>(v, v, null, null);
return;
}
public void handleRequest(org.apache.hc.core.http.io.HttpServerConnection, org.apache.hc.core.http.protocol.HttpContext) throws java.io.IOException, org.apache.hc.core.http.HttpException
{
java.lang.Throwable v;
org.apache.hc.core.http.protocol.HttpContext v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.hc.core.http.io.HttpServerRequestHandler v;
org.apache.hc.core.http.protocol.HttpProcessor v, v;
javax.net.ssl.SSLSession v;
org.apache.hc.core.http.impl.io.HttpService v;
org.apache.hc.core.http.io.HttpServerConnection v;
org.apache.hc.core.http.impl.Http1StreamListener v, v, v, v;
boolean v;
org.apache.hc.core.http.EndpointDetails v;
org.apache.hc.core.http.HttpException v;
org.apache.hc.core.http.impl.io.HttpService$1 v;
org.apache.hc.core.http.ProtocolVersion v, v;
org.apache.hc.core.http.message.BasicClassicHttpResponse v;
org.apache.hc.core.http.ClassicHttpRequest v;
org.apache.hc.core.http.HttpEntity v, v;
v := @this: org.apache.hc.core.http.impl.io.HttpService;
v := @parameter: org.apache.hc.core.http.io.HttpServerConnection;
v := @parameter: org.apache.hc.core.http.protocol.HttpContext;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
label:
v = interfaceinvoke v.<org.apache.hc.core.http.io.HttpServerConnection: org.apache.hc.core.http.ClassicHttpRequest receiveRequestHeader()>();
v = v.<org.apache.hc.core.http.impl.io.HttpService: org.apache.hc.core.http.impl.Http1StreamListener streamListener>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.io.HttpService: org.apache.hc.core.http.impl.Http1StreamListener streamListener>;
interfaceinvoke v.<org.apache.hc.core.http.impl.Http1StreamListener: void onRequestHead(org.apache.hc.core.http.HttpConnection,org.apache.hc.core.http.HttpRequest)>(v, v);
label:
interfaceinvoke v.<org.apache.hc.core.http.io.HttpServerConnection: void receiveRequestEntity(org.apache.hc.core.http.ClassicHttpRequest)>(v);
v = interfaceinvoke v.<org.apache.hc.core.http.ClassicHttpRequest: org.apache.hc.core.http.ProtocolVersion getVersion()>();
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:
interfaceinvoke v.<org.apache.hc.core.http.protocol.HttpContext: void setProtocolVersion(org.apache.hc.core.http.ProtocolVersion)>(v);
v = interfaceinvoke v.<org.apache.hc.core.http.io.HttpServerConnection: javax.net.ssl.SSLSession getSSLSession()>();
interfaceinvoke v.<org.apache.hc.core.http.protocol.HttpContext: java.lang.Object setAttribute(java.lang.String,java.lang.Object)>("http.ssl-session", v);
v = interfaceinvoke v.<org.apache.hc.core.http.io.HttpServerConnection: org.apache.hc.core.http.EndpointDetails getEndpointDetails()>();
interfaceinvoke v.<org.apache.hc.core.http.protocol.HttpContext: java.lang.Object setAttribute(java.lang.String,java.lang.Object)>("http.connection-endpoint", v);
interfaceinvoke v.<org.apache.hc.core.http.protocol.HttpContext: java.lang.Object setAttribute(java.lang.String,java.lang.Object)>("http.request", v);
v = v.<org.apache.hc.core.http.impl.io.HttpService: org.apache.hc.core.http.protocol.HttpProcessor processor>;
v = interfaceinvoke v.<org.apache.hc.core.http.ClassicHttpRequest: org.apache.hc.core.http.HttpEntity getEntity()>();
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);
v = v.<org.apache.hc.core.http.impl.io.HttpService: org.apache.hc.core.http.io.HttpServerRequestHandler requestHandler>;
v = new org.apache.hc.core.http.impl.io.HttpService$1;
specialinvoke v.<org.apache.hc.core.http.impl.io.HttpService$1: void <init>(org.apache.hc.core.http.impl.io.HttpService,java.util.concurrent.atomic.AtomicBoolean,org.apache.hc.core.http.io.HttpServerConnection,org.apache.hc.core.http.protocol.HttpContext,org.apache.hc.core.http.ClassicHttpRequest)>(v, v, v, v, v);
interfaceinvoke v.<org.apache.hc.core.http.io.HttpServerRequestHandler: void handle(org.apache.hc.core.http.ClassicHttpRequest,org.apache.hc.core.http.io.HttpServerRequestHandler$ResponseTrigger,org.apache.hc.core.http.protocol.HttpContext)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
throw v;
label:
v = new org.apache.hc.core.http.message.BasicClassicHttpResponse;
specialinvoke v.<org.apache.hc.core.http.message.BasicClassicHttpResponse: void <init>(int)>(500);
label:
virtualinvoke v.<org.apache.hc.core.http.impl.io.HttpService: void handleException(org.apache.hc.core.http.HttpException,org.apache.hc.core.http.ClassicHttpResponse)>(v, v);
interfaceinvoke v.<org.apache.hc.core.http.ClassicHttpResponse: void setHeader(java.lang.String,java.lang.Object)>("Connection", "close");
interfaceinvoke v.<org.apache.hc.core.http.protocol.HttpContext: java.lang.Object setAttribute(java.lang.String,java.lang.Object)>("http.response", v);
v = v.<org.apache.hc.core.http.impl.io.HttpService: org.apache.hc.core.http.protocol.HttpProcessor processor>;
v = interfaceinvoke v.<org.apache.hc.core.http.ClassicHttpResponse: org.apache.hc.core.http.HttpEntity getEntity()>();
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);
interfaceinvoke v.<org.apache.hc.core.http.io.HttpServerConnection: void sendResponseHeader(org.apache.hc.core.http.ClassicHttpResponse)>(v);
v = v.<org.apache.hc.core.http.impl.io.HttpService: org.apache.hc.core.http.impl.Http1StreamListener streamListener>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.io.HttpService: org.apache.hc.core.http.impl.Http1StreamListener streamListener>;
interfaceinvoke v.<org.apache.hc.core.http.impl.Http1StreamListener: void onResponseHead(org.apache.hc.core.http.HttpConnection,org.apache.hc.core.http.HttpResponse)>(v, v);
label:
interfaceinvoke v.<org.apache.hc.core.http.io.HttpServerConnection: void sendResponseEntity(org.apache.hc.core.http.ClassicHttpResponse)>(v);
interfaceinvoke v.<org.apache.hc.core.http.io.HttpServerConnection: void close()>();
label:
interfaceinvoke v.<org.apache.hc.core.http.ClassicHttpResponse: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch org.apache.hc.core.http.HttpException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
protected void handleException(org.apache.hc.core.http.HttpException, org.apache.hc.core.http.ClassicHttpResponse)
{
org.apache.hc.core.http.HttpException v;
org.apache.hc.core.http.ContentType v;
org.apache.hc.core.http.ClassicHttpResponse v;
int v;
org.apache.hc.core.http.impl.io.HttpService v;
java.lang.String v;
org.apache.hc.core.http.io.entity.StringEntity v;
v := @this: org.apache.hc.core.http.impl.io.HttpService;
v := @parameter: org.apache.hc.core.http.HttpException;
v := @parameter: org.apache.hc.core.http.ClassicHttpResponse;
v = virtualinvoke v.<org.apache.hc.core.http.impl.io.HttpService: int toStatusCode(java.lang.Exception)>(v);
interfaceinvoke v.<org.apache.hc.core.http.ClassicHttpResponse: void setCode(int)>(v);
v = new org.apache.hc.core.http.io.entity.StringEntity;
v = staticinvoke <org.apache.hc.core.http.impl.ServerSupport: java.lang.String toErrorMessage(java.lang.Exception)>(v);
v = <org.apache.hc.core.http.ContentType: org.apache.hc.core.http.ContentType TEXT_PLAIN>;
specialinvoke v.<org.apache.hc.core.http.io.entity.StringEntity: void <init>(java.lang.String,org.apache.hc.core.http.ContentType)>(v, v);
interfaceinvoke v.<org.apache.hc.core.http.ClassicHttpResponse: void setEntity(org.apache.hc.core.http.HttpEntity)>(v);
return;
}
protected int toStatusCode(java.lang.Exception)
{
int v;
org.apache.hc.core.http.impl.io.HttpService v;
java.lang.Exception v;
v := @this: org.apache.hc.core.http.impl.io.HttpService;
v := @parameter: java.lang.Exception;
v = staticinvoke <org.apache.hc.core.http.impl.ServerSupport: int toStatusCode(java.lang.Exception)>(v);
return v;
}
}