public class io.vertx.core.http.impl.Http1xServerResponse extends java.lang.Object implements io.vertx.core.http.HttpServerResponse, io.vertx.core.spi.observability.HttpResponse
{
private static final io.vertx.core.buffer.Buffer EMPTY_BUFFER;
private static final io.vertx.core.impl.logging.Logger log;
private static final java.lang.String RESPONSE_WRITTEN;
private final io.vertx.core.impl.VertxInternal vertx;
private final io.netty.handler.codec.http.HttpRequest request;
private final io.vertx.core.http.impl.Http1xServerConnection conn;
private final io.vertx.core.impl.ContextInternal context;
private io.netty.handler.codec.http.HttpResponseStatus status;
private final io.netty.handler.codec.http.HttpVersion version;
private final boolean keepAlive;
private final boolean head;
private final java.lang.Object requestMetric;
private boolean headWritten;
private boolean written;
private io.vertx.core.Handler drainHandler;
private io.vertx.core.Handler exceptionHandler;
private io.vertx.core.Handler closeHandler;
private io.vertx.core.Handler endHandler;
private io.vertx.core.Handler headersEndHandler;
private io.vertx.core.Handler bodyEndHandler;
private boolean writable;
private boolean closed;
private final io.vertx.core.http.impl.headers.HeadersMultiMap headers;
private io.vertx.core.http.impl.CookieJar cookies;
private io.vertx.core.MultiMap trailers;
private io.netty.handler.codec.http.HttpHeaders trailingHeaders;
private java.lang.String statusMessage;
private long bytesWritten;
private io.vertx.core.Future netSocket;
void <init>(io.vertx.core.impl.VertxInternal, io.vertx.core.impl.ContextInternal, io.vertx.core.http.impl.Http1xServerConnection, io.netty.handler.codec.http.HttpRequest, java.lang.Object, boolean, boolean)
{
io.netty.handler.codec.http.HttpVersion v;
io.netty.handler.codec.http.HttpRequest v;
io.vertx.core.impl.VertxInternal v;
io.netty.handler.codec.http.HttpMethod v, v;
io.vertx.core.impl.ContextInternal v;
io.netty.handler.codec.http.HttpResponseStatus v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.headers.HeadersMultiMap v;
io.netty.handler.codec.http.EmptyHttpHeaders v;
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Object v;
boolean v, v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.impl.VertxInternal;
v := @parameter: io.vertx.core.impl.ContextInternal;
v := @parameter: io.vertx.core.http.impl.Http1xServerConnection;
v := @parameter: io.netty.handler.codec.http.HttpRequest;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <io.netty.handler.codec.http.EmptyHttpHeaders: io.netty.handler.codec.http.EmptyHttpHeaders INSTANCE>;
v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpHeaders trailingHeaders> = v;
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.VertxInternal vertx> = v;
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn> = v;
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context> = v;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpRequest: io.netty.handler.codec.http.HttpVersion protocolVersion()>();
v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpVersion version> = v;
v = staticinvoke <io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap httpHeaders()>();
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers> = v;
v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpRequest request> = v;
v = <io.netty.handler.codec.http.HttpResponseStatus: io.netty.handler.codec.http.HttpResponseStatus OK>;
v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status> = v;
v.<io.vertx.core.http.impl.Http1xServerResponse: java.lang.Object requestMetric> = v;
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean writable> = v;
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean keepAlive> = v;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpRequest: io.netty.handler.codec.http.HttpMethod method()>();
v = <io.netty.handler.codec.http.HttpMethod: io.netty.handler.codec.http.HttpMethod HEAD>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean head> = v;
return;
}
public io.vertx.core.MultiMap headers()
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.http.impl.headers.HeadersMultiMap v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
return v;
}
public io.vertx.core.MultiMap trailers()
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.MultiMap v, v;
io.vertx.core.http.impl.headers.HeadersMultiMap v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.MultiMap trailers>;
if v != null goto label;
v = staticinvoke <io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap httpHeaders()>();
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.MultiMap trailers> = v;
v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpHeaders trailingHeaders> = v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.MultiMap trailers>;
return v;
}
public int statusCode()
{
int v;
io.vertx.core.http.impl.Http1xServerResponse v;
io.netty.handler.codec.http.HttpResponseStatus v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpResponseStatus: int code()>();
return v;
}
public int getStatusCode()
{
int v;
io.vertx.core.http.impl.Http1xServerResponse v;
io.netty.handler.codec.http.HttpResponseStatus v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpResponseStatus: int code()>();
return v;
}
public io.vertx.core.http.HttpServerResponse setStatusCode(int)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
int v;
io.netty.handler.codec.http.HttpResponseStatus v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.String v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: int;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkHeadWritten()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: java.lang.String statusMessage>;
if v == null goto label;
v = new io.netty.handler.codec.http.HttpResponseStatus;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: java.lang.String statusMessage>;
specialinvoke v.<io.netty.handler.codec.http.HttpResponseStatus: void <init>(int,java.lang.String)>(v, v);
goto label;
label:
v = staticinvoke <io.netty.handler.codec.http.HttpResponseStatus: io.netty.handler.codec.http.HttpResponseStatus valueOf(int)>(v);
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status> = v;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public java.lang.String getStatusMessage()
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.netty.handler.codec.http.HttpResponseStatus v;
java.lang.String v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpResponseStatus: java.lang.String reasonPhrase()>();
return v;
}
public io.vertx.core.http.HttpServerResponse setStatusMessage(java.lang.String)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
int v;
io.netty.handler.codec.http.HttpResponseStatus v, v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.String v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkHeadWritten()>();
v.<io.vertx.core.http.impl.Http1xServerResponse: java.lang.String statusMessage> = v;
v = new io.netty.handler.codec.http.HttpResponseStatus;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpResponseStatus: int code()>();
specialinvoke v.<io.netty.handler.codec.http.HttpResponseStatus: void <init>(int,java.lang.String)>(v, v);
v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.impl.Http1xServerResponse setChunked(boolean)
{
java.lang.Throwable v;
io.netty.handler.codec.http.HttpVersion v, v;
java.lang.CharSequence v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.headers.HeadersMultiMap v;
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.String v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: boolean;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkHeadWritten()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpVersion version>;
v = <io.netty.handler.codec.http.HttpVersion: io.netty.handler.codec.http.HttpVersion HTTP_1_0>;
if v == v goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence TRANSFER_ENCODING>;
if v == 0 goto label;
v = "chunked";
goto label;
label:
v = null;
label:
virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap set(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
label:
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public boolean isChunked()
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
java.lang.CharSequence v, v;
io.vertx.core.http.impl.Http1xServerConnection v;
boolean v;
io.vertx.core.http.impl.headers.HeadersMultiMap v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence TRANSFER_ENCODING>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence CHUNKED>;
v = virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: boolean contains(java.lang.CharSequence,java.lang.CharSequence,boolean)>(v, v, 1);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.impl.Http1xServerResponse putHeader(java.lang.String, java.lang.String)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.String v, v;
io.vertx.core.http.impl.headers.HeadersMultiMap v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkHeadWritten()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap set(java.lang.String,java.lang.String)>(v, v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.impl.Http1xServerResponse putHeader(java.lang.String, java.lang.Iterable)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.String v;
java.lang.Iterable v;
io.vertx.core.http.impl.headers.HeadersMultiMap v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Iterable;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkHeadWritten()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap set(java.lang.String,java.lang.Iterable)>(v, v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.impl.Http1xServerResponse putTrailer(java.lang.String, java.lang.String)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.MultiMap v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.String v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkValid()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.MultiMap trailers()>();
interfaceinvoke v.<io.vertx.core.MultiMap: io.vertx.core.MultiMap set(java.lang.String,java.lang.String)>(v, v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.impl.Http1xServerResponse putTrailer(java.lang.String, java.lang.Iterable)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.MultiMap v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.String v;
java.lang.Iterable v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Iterable;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkValid()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.MultiMap trailers()>();
interfaceinvoke v.<io.vertx.core.MultiMap: io.vertx.core.MultiMap set(java.lang.String,java.lang.Iterable)>(v, v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.HttpServerResponse putHeader(java.lang.CharSequence, java.lang.CharSequence)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
java.lang.CharSequence v, v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.headers.HeadersMultiMap v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.CharSequence;
v := @parameter: java.lang.CharSequence;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkHeadWritten()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap set(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.HttpServerResponse putHeader(java.lang.CharSequence, java.lang.Iterable)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
java.lang.CharSequence v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.Iterable v;
io.vertx.core.http.impl.headers.HeadersMultiMap v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.CharSequence;
v := @parameter: java.lang.Iterable;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkHeadWritten()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap set(java.lang.CharSequence,java.lang.Iterable)>(v, v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.HttpServerResponse putTrailer(java.lang.CharSequence, java.lang.CharSequence)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
java.lang.CharSequence v, v;
io.vertx.core.MultiMap v;
io.vertx.core.http.impl.Http1xServerConnection v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.CharSequence;
v := @parameter: java.lang.CharSequence;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkValid()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.MultiMap trailers()>();
interfaceinvoke v.<io.vertx.core.MultiMap: io.vertx.core.MultiMap set(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.HttpServerResponse putTrailer(java.lang.CharSequence, java.lang.Iterable)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
java.lang.CharSequence v;
io.vertx.core.MultiMap v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.Iterable v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.CharSequence;
v := @parameter: java.lang.Iterable;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkValid()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.MultiMap trailers()>();
interfaceinvoke v.<io.vertx.core.MultiMap: io.vertx.core.MultiMap set(java.lang.CharSequence,java.lang.Iterable)>(v, v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.HttpServerResponse setWriteQueueMaxSize(int)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
int v;
io.vertx.core.http.impl.Http1xServerConnection v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: int;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkValid()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void doSetWriteQueueMaxSize(int)>(v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public boolean writeQueueFull()
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v;
boolean v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkValid()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean writable>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.HttpServerResponse drainHandler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
if v == null goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkValid()>();
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler drainHandler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.HttpServerResponse exceptionHandler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
if v == null goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkValid()>();
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler exceptionHandler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.HttpServerResponse closeHandler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
if v == null goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkValid()>();
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler closeHandler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.HttpServerResponse endHandler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
if v == null goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkValid()>();
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler endHandler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.Future write(io.vertx.core.buffer.Buffer)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.impl.future.PromiseInternal v;
io.netty.buffer.ByteBuf v;
io.vertx.core.buffer.Buffer v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.buffer.Buffer;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.netty.buffer.ByteBuf getByteBuf()>();
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerResponse write(io.netty.buffer.ByteBuf,io.vertx.core.impl.future.PromiseInternal)>(v, v);
v = interfaceinvoke v.<io.vertx.core.impl.future.PromiseInternal: io.vertx.core.Future future()>();
return v;
}
public void write(io.vertx.core.buffer.Buffer, io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.impl.future.PromiseInternal v;
io.netty.buffer.ByteBuf v;
io.vertx.core.buffer.Buffer v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.buffer.Buffer;
v := @parameter: io.vertx.core.Handler;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.netty.buffer.ByteBuf getByteBuf()>();
if v != null goto label;
v = null;
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise(io.vertx.core.Handler)>(v);
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerResponse write(io.netty.buffer.ByteBuf,io.vertx.core.impl.future.PromiseInternal)>(v, v);
return;
}
public io.vertx.core.Future write(java.lang.String, java.lang.String)
{
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Future v;
io.vertx.core.http.impl.Http1xServerResponse v;
io.netty.buffer.ByteBuf v;
io.vertx.core.buffer.Buffer v;
java.lang.String v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(java.lang.String,java.lang.String)>(v, v);
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.netty.buffer.ByteBuf getByteBuf()>();
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerResponse write(io.netty.buffer.ByteBuf,io.vertx.core.impl.future.PromiseInternal)>(v, v);
v = interfaceinvoke v.<io.vertx.core.impl.future.PromiseInternal: io.vertx.core.Future future()>();
return v;
}
public void write(java.lang.String, java.lang.String, io.vertx.core.Handler)
{
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerResponse v;
io.netty.buffer.ByteBuf v;
io.vertx.core.buffer.Buffer v;
java.lang.String v, v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.core.Handler;
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(java.lang.String,java.lang.String)>(v, v);
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.netty.buffer.ByteBuf getByteBuf()>();
if v != null goto label;
v = null;
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise(io.vertx.core.Handler)>(v);
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerResponse write(io.netty.buffer.ByteBuf,io.vertx.core.impl.future.PromiseInternal)>(v, v);
return;
}
public io.vertx.core.Future write(java.lang.String)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.impl.future.PromiseInternal v;
io.netty.buffer.ByteBuf v;
io.vertx.core.buffer.Buffer v;
io.vertx.core.impl.ContextInternal v;
java.lang.String v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(java.lang.String)>(v);
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.netty.buffer.ByteBuf getByteBuf()>();
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerResponse write(io.netty.buffer.ByteBuf,io.vertx.core.impl.future.PromiseInternal)>(v, v);
v = interfaceinvoke v.<io.vertx.core.impl.future.PromiseInternal: io.vertx.core.Future future()>();
return v;
}
public void write(java.lang.String, io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.impl.future.PromiseInternal v;
io.netty.buffer.ByteBuf v;
io.vertx.core.buffer.Buffer v;
io.vertx.core.impl.ContextInternal v;
java.lang.String v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.core.Handler;
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(java.lang.String)>(v);
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.netty.buffer.ByteBuf getByteBuf()>();
if v != null goto label;
v = null;
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise(io.vertx.core.Handler)>(v);
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerResponse write(io.netty.buffer.ByteBuf,io.vertx.core.impl.future.PromiseInternal)>(v, v);
return;
}
public io.vertx.core.http.HttpServerResponse writeContinue()
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.http.impl.Http1xServerConnection v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void write100Continue()>();
return v;
}
public io.vertx.core.Future writeEarlyHints(io.vertx.core.MultiMap)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.MultiMap v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.MultiMap;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void writeEarlyHints(io.vertx.core.MultiMap,io.vertx.core.Handler)>(v, v);
v = interfaceinvoke v.<io.vertx.core.impl.future.PromiseInternal: io.vertx.core.Future future()>();
return v;
}
public void writeEarlyHints(io.vertx.core.MultiMap, io.vertx.core.Handler)
{
java.lang.Throwable v;
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.MultiMap v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerConnection v, v;
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.Handler v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.MultiMap;
v := @parameter: io.vertx.core.Handler;
v = v instanceof io.vertx.core.http.impl.headers.HeadersMultiMap;
if v != 0 goto label;
v = staticinvoke <io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap httpHeaders()>();
virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.MultiMap addAll(io.vertx.core.MultiMap)>(v);
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkHeadWritten()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise(io.vertx.core.Handler)>(v);
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void write103EarlyHints(io.netty.handler.codec.http.HttpHeaders,io.vertx.core.impl.future.PromiseInternal)>(v, v);
return;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.Future end(java.lang.String)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.buffer.Buffer v;
java.lang.String v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(java.lang.String)>(v);
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Future end(io.vertx.core.buffer.Buffer)>(v);
return v;
}
public void end(java.lang.String, io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.buffer.Buffer v;
java.lang.String v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.core.Handler;
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(java.lang.String)>(v);
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void end(io.vertx.core.buffer.Buffer,io.vertx.core.Handler)>(v, v);
return;
}
public io.vertx.core.Future end(java.lang.String, java.lang.String)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.buffer.Buffer v;
java.lang.String v, v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(java.lang.String,java.lang.String)>(v, v);
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Future end(io.vertx.core.buffer.Buffer)>(v);
return v;
}
public void end(java.lang.String, java.lang.String, io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.buffer.Buffer v;
java.lang.String v, v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.core.Handler;
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(java.lang.String,java.lang.String)>(v, v);
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void end(io.vertx.core.buffer.Buffer,io.vertx.core.Handler)>(v, v);
return;
}
public io.vertx.core.Future end(io.vertx.core.buffer.Buffer)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.buffer.Buffer v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.buffer.Buffer;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void end(io.vertx.core.buffer.Buffer,io.vertx.core.impl.future.PromiseInternal)>(v, v);
v = interfaceinvoke v.<io.vertx.core.impl.future.PromiseInternal: io.vertx.core.Future future()>();
return v;
}
public void end(io.vertx.core.buffer.Buffer, io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.buffer.Buffer v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.buffer.Buffer;
v := @parameter: io.vertx.core.Handler;
if v != null goto label;
v = null;
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise(io.vertx.core.Handler)>(v);
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void end(io.vertx.core.buffer.Buffer,io.vertx.core.impl.future.PromiseInternal)>(v, v);
return;
}
private void end(io.vertx.core.buffer.Buffer, io.vertx.core.impl.future.PromiseInternal)
{
java.lang.Throwable v;
java.lang.IllegalStateException v;
io.netty.handler.codec.http.HttpVersion v;
io.netty.handler.codec.http.HttpHeaders v, v;
long v, v, v;
io.netty.handler.codec.http.LastHttpContent v;
io.vertx.core.http.impl.headers.HeadersMultiMap v;
io.vertx.core.http.impl.Http1xServerResponse v;
io.netty.buffer.ByteBuf v;
int v;
io.vertx.core.http.impl.AssembledFullHttpResponse v;
io.vertx.core.http.impl.AssembledLastHttpContent v;
boolean v, v, v, v, v;
io.vertx.core.impl.future.PromiseInternal v;
io.netty.handler.codec.http.HttpResponseStatus v;
io.vertx.core.http.impl.Http1xServerConnection v, v, v;
io.vertx.core.buffer.Buffer v;
io.vertx.core.Handler v, v, v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.buffer.Buffer;
v := @parameter: io.vertx.core.impl.future.PromiseInternal;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean written>;
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Response has already been written");
throw v;
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean written> = 1;
v = interfaceinvoke v.<io.vertx.core.buffer.Buffer: io.netty.buffer.ByteBuf getByteBuf()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: long bytesWritten>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = v + v;
v.<io.vertx.core.http.impl.Http1xServerResponse: long bytesWritten> = v;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean headWritten>;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: long bytesWritten>;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void prepareHeaders(long)>(v);
v = new io.vertx.core.http.impl.AssembledFullHttpResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean head>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpVersion version>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpHeaders trailingHeaders>;
specialinvoke v.<io.vertx.core.http.impl.AssembledFullHttpResponse: void <init>(boolean,io.netty.handler.codec.http.HttpVersion,io.netty.handler.codec.http.HttpResponseStatus,io.netty.handler.codec.http.HttpHeaders,io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpHeaders)>(v, v, v, v, v, v);
v = v;
goto label;
label:
v = new io.vertx.core.http.impl.AssembledLastHttpContent;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpHeaders trailingHeaders>;
specialinvoke v.<io.vertx.core.http.impl.AssembledLastHttpContent: void <init>(io.netty.buffer.ByteBuf,io.netty.handler.codec.http.HttpHeaders)>(v, v);
v = v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void writeToChannel(java.lang.Object,io.netty.util.concurrent.FutureListener)>(v, v);
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void responseComplete()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler bodyEndHandler>;
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler bodyEndHandler>;
interfaceinvoke v.<io.vertx.core.Handler: void handle(java.lang.Object)>(null);
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean closed>;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler endHandler>;
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler endHandler>;
interfaceinvoke v.<io.vertx.core.Handler: void handle(java.lang.Object)>(null);
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean keepAlive>;
if v != 0 goto label;
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean closed> = 1;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
void completeHandshake()
{
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v, v, v, v;
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.spi.metrics.HttpServerMetrics v, v;
java.lang.Object v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics>;
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: java.lang.Object requestMetric>;
interfaceinvoke v.<io.vertx.core.spi.metrics.HttpServerMetrics: void responseBegin(java.lang.Object,io.vertx.core.spi.observability.HttpResponse)>(v, v);
label:
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.HttpServerResponse setStatusCode(int)>(101);
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean headWritten> = 1;
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean written> = 1;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void responseComplete()>();
return;
catch java.lang.Throwable from label to label with label;
}
public void close()
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v, v;
boolean v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean closed>;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean headWritten>;
if v == 0 goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void closeConnAfterWrite()>();
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.Future close()>();
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean closed> = 1;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.Future end()
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.buffer.Buffer v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = <io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.buffer.Buffer EMPTY_BUFFER>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Future end(io.vertx.core.buffer.Buffer)>(v);
return v;
}
public void end(io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.Handler v;
io.vertx.core.buffer.Buffer v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.Handler;
v = <io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.buffer.Buffer EMPTY_BUFFER>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void end(io.vertx.core.buffer.Buffer,io.vertx.core.Handler)>(v, v);
return;
}
public io.vertx.core.Future sendFile(java.lang.String, long, long)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.impl.ContextInternal v;
long v, v;
java.lang.String v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: long;
v := @parameter: long;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.HttpServerResponse sendFile(java.lang.String,long,long,io.vertx.core.Handler)>(v, v, v, v);
v = interfaceinvoke v.<io.vertx.core.Promise: io.vertx.core.Future future()>();
return v;
}
public io.vertx.core.http.HttpServerResponse sendFile(java.lang.String, long, long, io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
long v, v;
java.lang.String v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: long;
v := @parameter: long;
v := @parameter: io.vertx.core.Handler;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void doSendFile(java.lang.String,long,long,io.vertx.core.Handler)>(v, v, v, v);
return v;
}
public boolean ended()
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean written>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public boolean closed()
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean closed>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public boolean headWritten()
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean headWritten>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public long bytesWritten()
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
long v;
io.vertx.core.http.impl.Http1xServerConnection v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: long bytesWritten>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.HttpServerResponse headersEndHandler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler headersEndHandler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.HttpServerResponse bodyEndHandler(io.vertx.core.Handler)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.Handler v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler bodyEndHandler> = v;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
private void doSendFile(java.lang.String, long, long, io.vertx.core.Handler)
{
java.io.RandomAccessFile v, v;
java.lang.IllegalStateException v;
io.vertx.core.http.impl.headers.HeadersMultiMap v, v, v;
boolean v, v, v, v;
io.vertx.core.impl.logging.Logger v, v;
java.lang.CharSequence v, v;
io.netty.handler.codec.http.HttpResponseStatus v;
java.lang.Throwable v;
io.netty.handler.codec.http.HttpVersion v;
io.vertx.core.impl.ContextInternal v, v, v;
long v, v, v, v, v, v, v, v;
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.String v, v, v;
io.vertx.core.impl.VertxInternal v, v, v, v;
io.vertx.core.http.impl.AssembledHttpResponse v;
io.netty.util.concurrent.GenericFutureListener v;
java.io.IOException v, v;
io.vertx.core.http.impl.Http1xServerConnection v, v, v;
java.io.File v;
io.netty.channel.ChannelFuture v;
io.vertx.core.Handler v, v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: long;
v := @parameter: long;
v := @parameter: io.vertx.core.Handler;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkValid()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean headWritten>;
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Head already written");
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.VertxInternal vertx>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: java.io.File resolveFile(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.VertxInternal vertx>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.impl.ContextInternal getOrCreateContext()>();
v = staticinvoke <io.vertx.core.http.impl.Http1xServerResponse$lambda_doSendFile_0__1502: io.vertx.core.Handler bootstrap$(io.vertx.core.Handler)>(v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void runOnContext(io.vertx.core.Handler)>(v);
goto label;
label:
v = <io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.logging.Logger log>;
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[])>("File not found: \u0001");
interfaceinvoke v.<io.vertx.core.impl.logging.Logger: void error(java.lang.Object)>(v);
label:
exitmonitor v;
label:
return;
label:
v = virtualinvoke v.<java.io.File: long length()>();
v = v - v;
v = staticinvoke <java.lang.Math: long min(long,long)>(v, v);
v.<io.vertx.core.http.impl.Http1xServerResponse: long bytesWritten> = v;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence CONTENT_TYPE>;
v = virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: boolean contains(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = staticinvoke <io.vertx.core.http.impl.MimeMapping: java.lang.String getMimeTypeForFilename(java.lang.String)>(v);
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence CONTENT_TYPE>;
virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap set(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: long bytesWritten>;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void prepareHeaders(long)>(v);
v = null;
label:
v = new java.io.RandomAccessFile;
specialinvoke v.<java.io.RandomAccessFile: void <init>(java.io.File,java.lang.String)>(v, "r");
v = v;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
v = new io.vertx.core.http.impl.AssembledHttpResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean head>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpVersion version>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
specialinvoke v.<io.vertx.core.http.impl.AssembledHttpResponse: void <init>(boolean,io.netty.handler.codec.http.HttpVersion,io.netty.handler.codec.http.HttpResponseStatus,io.netty.handler.codec.http.HttpHeaders)>(v, v, v, v);
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void writeToChannel(java.lang.Object)>(v);
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
v = virtualinvoke v.<java.io.File: long length()>();
v = staticinvoke <java.lang.Math: long min(long,long)>(v, v);
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: io.netty.channel.ChannelFuture sendFile(java.io.RandomAccessFile,long,long)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
label:
if v == null goto label;
virtualinvoke v.<java.io.RandomAccessFile: void close()>();
label:
goto label;
label:
v := @caughtexception;
label:
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.VertxInternal vertx>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.impl.ContextInternal getOrCreateContext()>();
v = staticinvoke <io.vertx.core.http.impl.Http1xServerResponse$lambda_doSendFile_1__1503: io.vertx.core.Handler bootstrap$(io.vertx.core.Handler,java.io.IOException)>(v, v);
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void runOnContext(io.vertx.core.Handler)>(v);
goto label;
label:
v = <io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.logging.Logger log>;
interfaceinvoke v.<io.vertx.core.impl.logging.Logger: void error(java.lang.Object,java.lang.Throwable)>("Failed to send file", v);
label:
exitmonitor v;
label:
return;
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean written> = 1;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.VertxInternal vertx>;
v = interfaceinvoke v.<io.vertx.core.impl.VertxInternal: io.vertx.core.impl.ContextInternal getOrCreateContext()>();
v = staticinvoke <io.vertx.core.http.impl.Http1xServerResponse$lambda_doSendFile_3__1501: io.netty.util.concurrent.GenericFutureListener bootstrap$(io.vertx.core.http.impl.Http1xServerResponse,io.vertx.core.Handler,io.vertx.core.impl.ContextInternal)>(v, v, v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void closeConnAfterWrite()
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.netty.buffer.ByteBuf v;
io.netty.channel.ChannelPromise v;
io.netty.util.concurrent.GenericFutureListener v;
io.vertx.core.http.impl.Http1xServerConnection v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: io.netty.channel.ChannelPromise channelFuture()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void writeToChannel(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
v = staticinvoke <io.vertx.core.http.impl.Http1xServerResponse$lambda_closeConnAfterWrite_4__1504: io.netty.util.concurrent.GenericFutureListener bootstrap$(io.vertx.core.http.impl.Http1xServerResponse)>(v);
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
void handleWritabilityChanged(boolean)
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.Handler v;
boolean v, v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: boolean;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean writable>;
if v == 0 goto label;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean writable> = v;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler drainHandler>;
if v == null goto label;
if v == 0 goto label;
label:
exitmonitor v;
label:
return;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(null, v);
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
void handleException(java.lang.Throwable)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v, v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.Handler v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.Throwable;
v = v instanceof io.vertx.core.http.HttpClosedException;
if v == 0 goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void handleClosed()>();
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler exceptionHandler>;
if v != null goto label;
exitmonitor v;
label:
return;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(v, v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void handleClosed()
{
java.lang.Throwable v;
io.vertx.core.impl.ContextInternal v, v, v;
io.vertx.core.http.HttpClosedException v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.Handler v, v, v, v, v;
boolean v, v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean closed>;
if v == 0 goto label;
exitmonitor v;
label:
return;
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean closed> = 1;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean written>;
if v == 0 goto label;
v = null;
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler exceptionHandler>;
label:
v = v;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean written>;
if v == 0 goto label;
v = null;
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler endHandler>;
label:
v = v;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler closeHandler>;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = <io.vertx.core.http.impl.HttpUtils: io.vertx.core.http.HttpClosedException CONNECTION_CLOSED_EXCEPTION>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(v, v);
label:
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(null, v);
label:
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
interfaceinvoke v.<io.vertx.core.impl.ContextInternal: void dispatch(java.lang.Object,io.vertx.core.Handler)>(null, v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void checkValid()
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.IllegalStateException v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean written>;
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Response has already been written");
throw v;
label:
return;
}
private void checkHeadWritten()
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.IllegalStateException v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean headWritten>;
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Response head already sent");
throw v;
label:
return;
}
private void prepareHeaders(long)
{
io.vertx.core.http.impl.CookieJar v;
io.vertx.core.http.impl.headers.HeadersMultiMap v, v, v, v, v, v;
byte v, v;
boolean v, v, v, v, v, v;
java.lang.CharSequence v, v, v, v, v, v, v, v;
io.netty.handler.codec.http.HttpResponseStatus v, v;
io.netty.handler.codec.http.HttpVersion v, v, v, v;
long v;
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.String v;
io.vertx.core.Handler v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: long;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpVersion version>;
v = <io.netty.handler.codec.http.HttpVersion: io.netty.handler.codec.http.HttpVersion HTTP_1_0>;
if v != v goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean keepAlive>;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence CONNECTION>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence KEEP_ALIVE>;
virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap set(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpVersion version>;
v = <io.netty.handler.codec.http.HttpVersion: io.netty.handler.codec.http.HttpVersion HTTP_1_1>;
if v != v goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean keepAlive>;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence CONNECTION>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence CLOSE>;
virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap set(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean head>;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status>;
v = <io.netty.handler.codec.http.HttpResponseStatus: io.netty.handler.codec.http.HttpResponseStatus NOT_MODIFIED>;
if v != v goto label;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence TRANSFER_ENCODING>;
virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap remove(java.lang.CharSequence)>(v);
goto label;
label:
v = v cmp 0L;
if v < 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence CONTENT_LENGTH>;
v = virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: boolean contains(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence TRANSFER_ENCODING>;
v = virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: boolean contains(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = v cmp 0L;
if v != 0 goto label;
v = "0";
goto label;
label:
v = staticinvoke <java.lang.String: java.lang.String valueOf(long)>(v);
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence CONTENT_LENGTH>;
virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap set(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler headersEndHandler>;
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Handler headersEndHandler>;
interfaceinvoke v.<io.vertx.core.Handler: void handle(java.lang.Object)>(null);
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.CookieJar cookies>;
if v == null goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void setCookies()>();
label:
v = <io.vertx.core.spi.metrics.Metrics: boolean METRICS_ENABLED>;
if v == 0 goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void reportResponseBegin()>();
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean headWritten> = 1;
return;
}
private void setCookies()
{
java.lang.CharSequence v;
java.util.Iterator v;
io.vertx.core.http.impl.CookieJar v;
io.vertx.core.http.impl.headers.HeadersMultiMap v;
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Object v;
java.lang.String v;
boolean v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.CookieJar cookies>;
v = virtualinvoke v.<io.vertx.core.http.impl.CookieJar: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<io.vertx.core.http.impl.ServerCookie: boolean isChanged()>();
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence SET_COOKIE>;
v = interfaceinvoke v.<io.vertx.core.http.impl.ServerCookie: java.lang.String encode()>();
virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: io.vertx.core.http.impl.headers.HeadersMultiMap add(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
goto label;
label:
return;
}
private void reportResponseBegin()
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.spi.metrics.HttpServerMetrics v, v;
java.lang.Object v;
io.vertx.core.http.impl.Http1xServerConnection v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics>;
if v == null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
v = v.<io.vertx.core.http.impl.Http1xServerConnection: io.vertx.core.spi.metrics.HttpServerMetrics metrics>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: java.lang.Object requestMetric>;
interfaceinvoke v.<io.vertx.core.spi.metrics.HttpServerMetrics: void responseBegin(java.lang.Object,io.vertx.core.spi.observability.HttpResponse)>(v, v);
label:
return;
}
private io.vertx.core.http.impl.Http1xServerResponse write(io.netty.buffer.ByteBuf, io.vertx.core.impl.future.PromiseInternal)
{
java.lang.Throwable v;
java.lang.IllegalStateException v, v;
io.netty.handler.codec.http.HttpVersion v, v, v;
long v, v;
io.vertx.core.http.impl.headers.HeadersMultiMap v, v, v;
io.vertx.core.http.impl.Http1xServerResponse v;
io.netty.buffer.ByteBuf v;
int v;
boolean v, v, v, v, v, v;
io.netty.handler.codec.http.HttpContent v;
io.vertx.core.impl.future.PromiseInternal v;
io.vertx.core.http.impl.AssembledHttpResponse v;
java.lang.CharSequence v, v;
io.netty.handler.codec.http.HttpResponseStatus v;
io.vertx.core.http.impl.Http1xServerConnection v, v;
io.netty.handler.codec.http.DefaultHttpContent v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: io.vertx.core.impl.future.PromiseInternal;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean written>;
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Response has already been written");
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean headWritten>;
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence TRANSFER_ENCODING>;
v = virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: boolean contains(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence CONTENT_LENGTH>;
v = virtualinvoke v.<io.vertx.core.http.impl.headers.HeadersMultiMap: boolean contains(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpVersion version>;
v = <io.netty.handler.codec.http.HttpVersion: io.netty.handler.codec.http.HttpVersion HTTP_1_0>;
if v == v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("You must set the Content-Length header to be the total size of the message body BEFORE sending any data if you are not using HTTP chunked encoding.");
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: long bytesWritten>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
v = v + v;
v.<io.vertx.core.http.impl.Http1xServerResponse: long bytesWritten> = v;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean headWritten>;
if v != 0 goto label;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void prepareHeaders(long)>(-1L);
v = new io.vertx.core.http.impl.AssembledHttpResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean head>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpVersion version>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
specialinvoke v.<io.vertx.core.http.impl.AssembledHttpResponse: void <init>(boolean,io.netty.handler.codec.http.HttpVersion,io.netty.handler.codec.http.HttpResponseStatus,io.netty.handler.codec.http.HttpHeaders,io.netty.buffer.ByteBuf)>(v, v, v, v, v);
v = v;
goto label;
label:
v = new io.netty.handler.codec.http.DefaultHttpContent;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttpContent: void <init>(io.netty.buffer.ByteBuf)>(v);
v = v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void writeToChannel(java.lang.Object,io.netty.util.concurrent.FutureListener)>(v, v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
io.vertx.core.Future netSocket(io.vertx.core.http.HttpMethod, io.vertx.core.MultiMap)
{
java.lang.Throwable v;
io.netty.handler.codec.http.HttpVersion v;
io.vertx.core.MultiMap v;
io.vertx.core.impl.ContextInternal v, v, v, v;
io.vertx.core.http.impl.headers.HeadersMultiMap v;
io.vertx.core.http.impl.Http1xServerResponse v;
boolean v, v, v;
io.vertx.core.impl.future.PromiseInternal v, v;
io.vertx.core.http.impl.AssembledHttpResponse v;
io.netty.handler.codec.http.HttpResponseStatus v, v;
io.vertx.core.http.impl.Http1xServerConnection v, v, v;
io.vertx.core.Future v, v, v, v, v;
io.vertx.core.http.HttpMethod v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.http.HttpMethod;
v := @parameter: io.vertx.core.MultiMap;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Future netSocket>;
if v != null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean headWritten>;
if v == 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.Future failedFuture(java.lang.String)>("Response already sent");
exitmonitor v;
label:
return v;
label:
v = staticinvoke <io.vertx.core.http.impl.HttpUtils: boolean isConnectOrUpgrade(io.vertx.core.http.HttpMethod,io.vertx.core.MultiMap)>(v, v);
if v != 0 goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.Future failedFuture(java.lang.String)>("HTTP method must be CONNECT or an HTTP upgrade to upgrade the connection to a TCP socket");
exitmonitor v;
label:
return v;
label:
v = <io.vertx.core.http.HttpMethod: io.vertx.core.http.HttpMethod CONNECT>;
if v != v goto label;
v = <io.netty.handler.codec.http.HttpResponseStatus: io.netty.handler.codec.http.HttpResponseStatus OK>;
goto label;
label:
v = <io.netty.handler.codec.http.HttpResponseStatus: io.netty.handler.codec.http.HttpResponseStatus SWITCHING_PROTOCOLS>;
label:
v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status> = v;
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void prepareHeaders(long)>(-1L);
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
v = new io.vertx.core.http.impl.AssembledHttpResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean head>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpVersion version>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpResponseStatus status>;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.headers.HeadersMultiMap headers>;
specialinvoke v.<io.vertx.core.http.impl.AssembledHttpResponse: void <init>(boolean,io.netty.handler.codec.http.HttpVersion,io.netty.handler.codec.http.HttpResponseStatus,io.netty.handler.codec.http.HttpHeaders)>(v, v, v, v);
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void writeToChannel(java.lang.Object,io.netty.util.concurrent.FutureListener)>(v, v);
v.<io.vertx.core.http.impl.Http1xServerResponse: boolean written> = 1;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.impl.future.PromiseInternal promise()>();
v = interfaceinvoke v.<io.vertx.core.Promise: io.vertx.core.Future future()>();
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Future netSocket> = v;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerConnection: void netSocket(io.vertx.core.Promise)>(v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.Future netSocket>;
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public int streamId()
{
int v;
io.vertx.core.http.impl.Http1xServerResponse v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = (int) -1;
return v;
}
public boolean reset(long)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
long v;
io.vertx.core.http.impl.Http1xServerConnection v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: long;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: boolean written>;
if v == 0 goto label;
exitmonitor v;
label:
return 0;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void close()>();
return 1;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.Future push(io.vertx.core.http.HttpMethod, io.vertx.core.net.HostAndPort, java.lang.String, io.vertx.core.MultiMap)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.http.HttpMethod v;
io.vertx.core.MultiMap v;
io.vertx.core.impl.ContextInternal v;
io.vertx.core.net.HostAndPort v;
java.lang.String v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.http.HttpMethod;
v := @parameter: io.vertx.core.net.HostAndPort;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.core.MultiMap;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.Future failedFuture(java.lang.String)>("HTTP/1 does not support response push");
return v;
}
public io.vertx.core.Future push(io.vertx.core.http.HttpMethod, java.lang.String, java.lang.String, io.vertx.core.MultiMap)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.http.HttpMethod v;
io.vertx.core.MultiMap v;
io.vertx.core.impl.ContextInternal v;
java.lang.String v, v;
io.vertx.core.Future v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.http.HttpMethod;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.core.MultiMap;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.ContextInternal context>;
v = interfaceinvoke v.<io.vertx.core.impl.ContextInternal: io.vertx.core.Future failedFuture(java.lang.String)>("HTTP/1 does not support response push");
return v;
}
public io.vertx.core.http.HttpServerResponse writeCustomFrame(int, int, io.vertx.core.buffer.Buffer)
{
io.vertx.core.http.impl.Http1xServerResponse v;
io.vertx.core.buffer.Buffer v;
int v, v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: int;
v := @parameter: int;
v := @parameter: io.vertx.core.buffer.Buffer;
return v;
}
io.vertx.core.http.impl.CookieJar cookies()
{
java.lang.Throwable v;
io.netty.handler.codec.http.HttpHeaders v;
io.netty.handler.codec.http.HttpRequest v;
java.lang.CharSequence v;
io.vertx.core.http.impl.CookieJar v, v, v, v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.String v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.CookieJar cookies>;
if v != null goto label;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.netty.handler.codec.http.HttpRequest request>;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpRequest: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence COOKIE>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: java.lang.String get(java.lang.CharSequence)>(v);
if v != null goto label;
v = new io.vertx.core.http.impl.CookieJar;
specialinvoke v.<io.vertx.core.http.impl.CookieJar: void <init>()>();
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.CookieJar cookies> = v;
goto label;
label:
v = new io.vertx.core.http.impl.CookieJar;
specialinvoke v.<io.vertx.core.http.impl.CookieJar: void <init>(java.lang.CharSequence)>(v);
v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.CookieJar cookies> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.CookieJar cookies>;
return v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.HttpServerResponse addCookie(io.vertx.core.http.Cookie)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.CookieJar v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.Cookie v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: io.vertx.core.http.Cookie;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkHeadWritten()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.CookieJar cookies()>();
virtualinvoke v.<io.vertx.core.http.impl.CookieJar: boolean add(io.vertx.core.http.impl.ServerCookie)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.Cookie removeCookie(java.lang.String, boolean)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.CookieJar v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.String v;
boolean v;
io.vertx.core.http.impl.ServerCookie v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkHeadWritten()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.CookieJar cookies()>();
v = virtualinvoke v.<io.vertx.core.http.impl.CookieJar: io.vertx.core.http.impl.ServerCookie removeOrInvalidate(java.lang.String,boolean)>(v, v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.vertx.core.http.Cookie removeCookie(java.lang.String, java.lang.String, java.lang.String, boolean)
{
java.lang.Throwable v;
io.vertx.core.http.impl.CookieJar v;
io.vertx.core.http.impl.Http1xServerConnection v;
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.String v, v, v;
boolean v;
io.vertx.core.http.impl.ServerCookie v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkHeadWritten()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.CookieJar cookies()>();
v = virtualinvoke v.<io.vertx.core.http.impl.CookieJar: io.vertx.core.http.impl.ServerCookie removeOrInvalidate(java.lang.String,java.lang.String,java.lang.String,boolean)>(v, v, v, v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public java.util.Set removeCookies(java.lang.String, boolean)
{
io.vertx.core.http.impl.Http1xServerResponse v;
java.lang.Throwable v;
io.vertx.core.http.impl.CookieJar v, v;
io.vertx.core.http.impl.Http1xServerConnection v;
java.lang.String v;
boolean v;
v := @this: io.vertx.core.http.impl.Http1xServerResponse;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.Http1xServerConnection conn>;
entermonitor v;
label:
specialinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: void checkHeadWritten()>();
v = virtualinvoke v.<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.http.impl.CookieJar cookies()>();
v = virtualinvoke v.<io.vertx.core.http.impl.CookieJar: io.vertx.core.http.impl.CookieJar removeOrInvalidateAll(java.lang.String,boolean)>(v, v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
io.vertx.core.impl.logging.Logger v;
io.netty.buffer.ByteBuf v;
io.vertx.core.buffer.Buffer v;
v = <io.netty.buffer.Unpooled: io.netty.buffer.ByteBuf EMPTY_BUFFER>;
v = staticinvoke <io.vertx.core.buffer.Buffer: io.vertx.core.buffer.Buffer buffer(io.netty.buffer.ByteBuf)>(v);
<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.buffer.Buffer EMPTY_BUFFER> = v;
v = staticinvoke <io.vertx.core.impl.logging.LoggerFactory: io.vertx.core.impl.logging.Logger getLogger(java.lang.Class)>(class "Lio/vertx/core/http/impl/Http1xServerResponse;");
<io.vertx.core.http.impl.Http1xServerResponse: io.vertx.core.impl.logging.Logger log> = v;
return;
}
}