public final class io.netty.handler.codec.http.HttpUtil extends java.lang.Object
{
private static final io.netty.util.AsciiString CHARSET_EQUALS;
private static final io.netty.util.AsciiString SEMICOLON;
private static final java.lang.String COMMA_STRING;
private void <init>()
{
io.netty.handler.codec.http.HttpUtil v;
v := @this: io.netty.handler.codec.http.HttpUtil;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static boolean isOriginForm(java.net.URI)
{
java.lang.String v;
java.net.URI v;
boolean v;
v := @parameter: java.net.URI;
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: boolean isOriginForm(java.lang.String)>(v);
return v;
}
public static boolean isOriginForm(java.lang.String)
{
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/");
return v;
}
public static boolean isAsteriskForm(java.net.URI)
{
java.lang.String v;
java.net.URI v;
boolean v;
v := @parameter: java.net.URI;
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: boolean isAsteriskForm(java.lang.String)>(v);
return v;
}
public static boolean isAsteriskForm(java.lang.String)
{
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v = "*";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
return v;
}
public static boolean isKeepAlive(io.netty.handler.codec.http.HttpMessage)
{
io.netty.handler.codec.http.HttpVersion v;
io.netty.handler.codec.http.HttpHeaders v, v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v, v, v, v;
boolean v, v, v, v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONNECTION>;
v = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString CLOSE>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: boolean containsValue(java.lang.CharSequence,java.lang.CharSequence,boolean)>(v, v, 1);
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpVersion protocolVersion()>();
v = virtualinvoke v.<io.netty.handler.codec.http.HttpVersion: boolean isKeepAliveDefault()>();
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONNECTION>;
v = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString KEEP_ALIVE>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: boolean containsValue(java.lang.CharSequence,java.lang.CharSequence,boolean)>(v, v, 1);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static void setKeepAlive(io.netty.handler.codec.http.HttpMessage, boolean)
{
io.netty.handler.codec.http.HttpVersion v;
io.netty.handler.codec.http.HttpHeaders v;
io.netty.handler.codec.http.HttpMessage v;
boolean v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v := @parameter: boolean;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpVersion protocolVersion()>();
staticinvoke <io.netty.handler.codec.http.HttpUtil: void setKeepAlive(io.netty.handler.codec.http.HttpHeaders,io.netty.handler.codec.http.HttpVersion,boolean)>(v, v, v);
return;
}
public static void setKeepAlive(io.netty.handler.codec.http.HttpHeaders, io.netty.handler.codec.http.HttpVersion, boolean)
{
io.netty.handler.codec.http.HttpVersion v;
io.netty.handler.codec.http.HttpHeaders v;
io.netty.util.AsciiString v, v, v, v, v, v;
boolean v, v;
v := @parameter: io.netty.handler.codec.http.HttpHeaders;
v := @parameter: io.netty.handler.codec.http.HttpVersion;
v := @parameter: boolean;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpVersion: boolean isKeepAliveDefault()>();
if v == 0 goto label;
if v == 0 goto label;
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONNECTION>;
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders remove(java.lang.CharSequence)>(v);
goto label;
label:
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONNECTION>;
v = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString CLOSE>;
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders set(java.lang.CharSequence,java.lang.Object)>(v, v);
goto label;
label:
if v == 0 goto label;
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONNECTION>;
v = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString KEEP_ALIVE>;
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders set(java.lang.CharSequence,java.lang.Object)>(v, v);
goto label;
label:
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONNECTION>;
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders remove(java.lang.CharSequence)>(v);
label:
return;
}
public static long getContentLength(io.netty.handler.codec.http.HttpMessage)
{
io.netty.handler.codec.http.HttpHeaders v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v, v;
java.lang.NumberFormatException v;
long v;
byte v;
int v;
java.lang.String v, v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONTENT_LENGTH>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: java.lang.String get(java.lang.CharSequence)>(v);
if v == null goto label;
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
return v;
label:
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: int getWebSocketContentLength(io.netty.handler.codec.http.HttpMessage)>(v);
v = v cmp 0L;
if v < 0 goto label;
return v;
label:
v = new java.lang.NumberFormatException;
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONTENT_LENGTH>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (io.netty.util.AsciiString)>(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[])>("header not found: \u0001");
specialinvoke v.<java.lang.NumberFormatException: void <init>(java.lang.String)>(v);
throw v;
}
public static long getContentLength(io.netty.handler.codec.http.HttpMessage, long)
{
io.netty.handler.codec.http.HttpHeaders v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v;
long v, v;
byte v;
int v;
java.lang.String v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v := @parameter: long;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONTENT_LENGTH>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: java.lang.String get(java.lang.CharSequence)>(v);
if v == null goto label;
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
return v;
label:
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: int getWebSocketContentLength(io.netty.handler.codec.http.HttpMessage)>(v);
v = v cmp 0L;
if v < 0 goto label;
return v;
label:
return v;
}
public static int getContentLength(io.netty.handler.codec.http.HttpMessage, int)
{
io.netty.handler.codec.http.HttpMessage v;
int v;
long v, v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v := @parameter: int;
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: long getContentLength(io.netty.handler.codec.http.HttpMessage,long)>(v, v);
v = staticinvoke <java.lang.Math: long min(long,long)>(2147483647L, v);
return v;
}
private static int getWebSocketContentLength(io.netty.handler.codec.http.HttpMessage)
{
io.netty.handler.codec.http.HttpHeaders v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v, v, v, v;
int v, v;
boolean v, v, v, v, v, v, v;
io.netty.handler.codec.http.HttpMethod v, v;
io.netty.handler.codec.http.HttpResponseStatus v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = v instanceof io.netty.handler.codec.http.HttpRequest;
if v == 0 goto label;
v = <io.netty.handler.codec.http.HttpMethod: io.netty.handler.codec.http.HttpMethod GET>;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpRequest: io.netty.handler.codec.http.HttpMethod method()>();
v = virtualinvoke v.<io.netty.handler.codec.http.HttpMethod: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString SEC_WEBSOCKET_KEY1>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: boolean contains(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString SEC_WEBSOCKET_KEY2>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: boolean contains(java.lang.CharSequence)>(v);
if v == 0 goto label;
return 8;
label:
v = v instanceof io.netty.handler.codec.http.HttpResponse;
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpResponse: io.netty.handler.codec.http.HttpResponseStatus status()>();
v = virtualinvoke v.<io.netty.handler.codec.http.HttpResponseStatus: int code()>();
if v != 101 goto label;
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString SEC_WEBSOCKET_ORIGIN>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: boolean contains(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString SEC_WEBSOCKET_LOCATION>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: boolean contains(java.lang.CharSequence)>(v);
if v == 0 goto label;
return 16;
label:
v = (int) -1;
return v;
}
public static void setContentLength(io.netty.handler.codec.http.HttpMessage, long)
{
io.netty.handler.codec.http.HttpHeaders v;
java.lang.Long v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v;
long v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v := @parameter: long;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONTENT_LENGTH>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders set(java.lang.CharSequence,java.lang.Object)>(v, v);
return;
}
public static boolean isContentLengthSet(io.netty.handler.codec.http.HttpMessage)
{
io.netty.handler.codec.http.HttpHeaders v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v;
boolean v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONTENT_LENGTH>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: boolean contains(java.lang.CharSequence)>(v);
return v;
}
public static boolean is100ContinueExpected(io.netty.handler.codec.http.HttpMessage)
{
io.netty.handler.codec.http.HttpHeaders v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v, v;
boolean v, v, v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: boolean isExpectHeaderValid(io.netty.handler.codec.http.HttpMessage)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString EXPECT>;
v = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString CONTINUE>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: boolean contains(java.lang.CharSequence,java.lang.CharSequence,boolean)>(v, v, 1);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static boolean isUnsupportedExpectation(io.netty.handler.codec.http.HttpMessage)
{
io.netty.handler.codec.http.HttpHeaders v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v, v;
java.lang.String v, v;
boolean v, v, v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: boolean isExpectHeaderValid(io.netty.handler.codec.http.HttpMessage)>(v);
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString EXPECT>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: java.lang.String get(java.lang.CharSequence)>(v);
if v == null goto label;
v = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString CONTINUE>;
v = virtualinvoke v.<io.netty.util.AsciiString: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isExpectHeaderValid(io.netty.handler.codec.http.HttpMessage)
{
io.netty.handler.codec.http.HttpVersion v, v;
io.netty.handler.codec.http.HttpMessage v;
int v;
boolean v, v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = v instanceof io.netty.handler.codec.http.HttpRequest;
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpVersion protocolVersion()>();
v = <io.netty.handler.codec.http.HttpVersion: io.netty.handler.codec.http.HttpVersion HTTP_1_1>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpVersion: int compareTo(io.netty.handler.codec.http.HttpVersion)>(v);
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static void set100ContinueExpected(io.netty.handler.codec.http.HttpMessage, boolean)
{
io.netty.handler.codec.http.HttpHeaders v, v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v, v, v;
boolean v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v := @parameter: boolean;
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString EXPECT>;
v = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString CONTINUE>;
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders set(java.lang.CharSequence,java.lang.Object)>(v, v);
goto label;
label:
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString EXPECT>;
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders remove(java.lang.CharSequence)>(v);
label:
return;
}
public static boolean isTransferEncodingChunked(io.netty.handler.codec.http.HttpMessage)
{
io.netty.handler.codec.http.HttpHeaders v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v, v;
boolean v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString TRANSFER_ENCODING>;
v = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString CHUNKED>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: boolean containsValue(java.lang.CharSequence,java.lang.CharSequence,boolean)>(v, v, 1);
return v;
}
public static void setTransferEncodingChunked(io.netty.handler.codec.http.HttpMessage, boolean)
{
io.netty.handler.codec.http.HttpHeaders v, v, v, v, v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v, v, v, v, v, v, v;
java.util.ArrayList v;
boolean v, v, v, v, v;
java.util.Iterator v;
java.util.List v;
java.lang.Object v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v := @parameter: boolean;
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString TRANSFER_ENCODING>;
v = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString CHUNKED>;
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders set(java.lang.CharSequence,java.lang.Object)>(v, v);
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONTENT_LENGTH>;
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders remove(java.lang.CharSequence)>(v);
goto label;
label:
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString TRANSFER_ENCODING>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: java.util.List getAll(java.lang.CharSequence)>(v);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
return;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = interfaceinvoke v.<java.util.List: 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 = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString CHUNKED>;
v = virtualinvoke v.<io.netty.util.AsciiString: boolean contentEqualsIgnoreCase(java.lang.CharSequence)>(v);
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString TRANSFER_ENCODING>;
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders remove(java.lang.CharSequence)>(v);
goto label;
label:
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString TRANSFER_ENCODING>;
virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: io.netty.handler.codec.http.HttpHeaders set(java.lang.CharSequence,java.lang.Iterable)>(v, v);
label:
return;
}
public static java.nio.charset.Charset getCharset(io.netty.handler.codec.http.HttpMessage)
{
java.nio.charset.Charset v, v;
io.netty.handler.codec.http.HttpMessage v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = <io.netty.util.CharsetUtil: java.nio.charset.Charset ISO_8859_1>;
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: java.nio.charset.Charset getCharset(io.netty.handler.codec.http.HttpMessage,java.nio.charset.Charset)>(v, v);
return v;
}
public static java.nio.charset.Charset getCharset(java.lang.CharSequence)
{
java.lang.CharSequence v;
java.nio.charset.Charset v, v, v;
v := @parameter: java.lang.CharSequence;
if v == null goto label;
v = <io.netty.util.CharsetUtil: java.nio.charset.Charset ISO_8859_1>;
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: java.nio.charset.Charset getCharset(java.lang.CharSequence,java.nio.charset.Charset)>(v, v);
return v;
label:
v = <io.netty.util.CharsetUtil: java.nio.charset.Charset ISO_8859_1>;
return v;
}
public static java.nio.charset.Charset getCharset(io.netty.handler.codec.http.HttpMessage, java.nio.charset.Charset)
{
io.netty.handler.codec.http.HttpHeaders v;
java.nio.charset.Charset v, v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v;
java.lang.String v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v := @parameter: java.nio.charset.Charset;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONTENT_TYPE>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: java.lang.String get(java.lang.CharSequence)>(v);
if v == null goto label;
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: java.nio.charset.Charset getCharset(java.lang.CharSequence,java.nio.charset.Charset)>(v, v);
return v;
label:
return v;
}
public static java.nio.charset.Charset getCharset(java.lang.CharSequence, java.nio.charset.Charset)
{
java.lang.CharSequence v, v;
char v, v;
java.nio.charset.Charset v, v;
int v, v, v, v, v;
java.nio.charset.IllegalCharsetNameException v;
java.lang.String v;
java.nio.charset.UnsupportedCharsetException v;
v := @parameter: java.lang.CharSequence;
v := @parameter: java.nio.charset.Charset;
if v == null goto label;
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: java.lang.CharSequence getCharsetAsSequence(java.lang.CharSequence)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
if v <= 2 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(0);
if v != 34 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = v - 1;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
if v != 34 goto label;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = v - 1;
v = interfaceinvoke v.<java.lang.CharSequence: java.lang.CharSequence subSequence(int,int)>(1, v);
label:
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = staticinvoke <java.nio.charset.Charset: java.nio.charset.Charset forName(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
goto label;
label:
v := @caughtexception;
label:
return v;
catch java.nio.charset.IllegalCharsetNameException from label to label with label;
catch java.nio.charset.UnsupportedCharsetException from label to label with label;
}
public static java.lang.CharSequence getCharsetAsString(io.netty.handler.codec.http.HttpMessage)
{
java.lang.CharSequence v;
io.netty.handler.codec.http.HttpMessage v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: java.lang.CharSequence getCharsetAsSequence(io.netty.handler.codec.http.HttpMessage)>(v);
return v;
}
public static java.lang.CharSequence getCharsetAsSequence(io.netty.handler.codec.http.HttpMessage)
{
io.netty.handler.codec.http.HttpHeaders v;
java.lang.CharSequence v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v;
java.lang.String v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONTENT_TYPE>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: java.lang.String get(java.lang.CharSequence)>(v);
if v == null goto label;
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: java.lang.CharSequence getCharsetAsSequence(java.lang.CharSequence)>(v);
return v;
label:
return null;
}
public static java.lang.CharSequence getCharsetAsSequence(java.lang.CharSequence)
{
java.lang.CharSequence v, v, v;
io.netty.util.AsciiString v, v, v;
int v, v, v, v, v, v, v, v;
v := @parameter: java.lang.CharSequence;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "contentTypeValue");
v = <io.netty.handler.codec.http.HttpUtil: io.netty.util.AsciiString CHARSET_EQUALS>;
v = staticinvoke <io.netty.util.AsciiString: int indexOfIgnoreCaseAscii(java.lang.CharSequence,java.lang.CharSequence,int)>(v, v, 0);
v = (int) -1;
if v != v goto label;
return null;
label:
v = <io.netty.handler.codec.http.HttpUtil: io.netty.util.AsciiString CHARSET_EQUALS>;
v = virtualinvoke v.<io.netty.util.AsciiString: int length()>();
v = v + v;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
v = interfaceinvoke v.<java.lang.CharSequence: java.lang.CharSequence subSequence(int,int)>(v, v);
v = <io.netty.handler.codec.http.HttpUtil: io.netty.util.AsciiString SEMICOLON>;
v = staticinvoke <io.netty.util.AsciiString: int indexOfIgnoreCaseAscii(java.lang.CharSequence,java.lang.CharSequence,int)>(v, v, 0);
v = (int) -1;
if v != v goto label;
return v;
label:
v = interfaceinvoke v.<java.lang.CharSequence: java.lang.CharSequence subSequence(int,int)>(0, v);
return v;
label:
return null;
}
public static java.lang.CharSequence getMimeType(io.netty.handler.codec.http.HttpMessage)
{
io.netty.handler.codec.http.HttpHeaders v;
java.lang.CharSequence v;
io.netty.handler.codec.http.HttpMessage v;
io.netty.util.AsciiString v;
java.lang.String v;
v := @parameter: io.netty.handler.codec.http.HttpMessage;
v = interfaceinvoke v.<io.netty.handler.codec.http.HttpMessage: io.netty.handler.codec.http.HttpHeaders headers()>();
v = <io.netty.handler.codec.http.HttpHeaderNames: io.netty.util.AsciiString CONTENT_TYPE>;
v = virtualinvoke v.<io.netty.handler.codec.http.HttpHeaders: java.lang.String get(java.lang.CharSequence)>(v);
if v == null goto label;
v = staticinvoke <io.netty.handler.codec.http.HttpUtil: java.lang.CharSequence getMimeType(java.lang.CharSequence)>(v);
return v;
label:
return null;
}
public static java.lang.CharSequence getMimeType(java.lang.CharSequence)
{
java.lang.CharSequence v, v, v;
int v, v, v;
io.netty.util.AsciiString v;
v := @parameter: java.lang.CharSequence;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "contentTypeValue");
v = <io.netty.handler.codec.http.HttpUtil: io.netty.util.AsciiString SEMICOLON>;
v = staticinvoke <io.netty.util.AsciiString: int indexOfIgnoreCaseAscii(java.lang.CharSequence,java.lang.CharSequence,int)>(v, v, 0);
v = (int) -1;
if v == v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: java.lang.CharSequence subSequence(int,int)>(0, v);
return v;
label:
v = interfaceinvoke v.<java.lang.CharSequence: int length()>();
if v <= 0 goto label;
v = v;
goto label;
label:
v = null;
label:
return v;
}
public static java.lang.String formatHostnameForHttp(java.net.InetSocketAddress)
{
java.net.InetAddress v;
java.lang.String v, v;
java.net.InetSocketAddress v;
boolean v, v;
v := @parameter: java.net.InetSocketAddress;
v = staticinvoke <io.netty.util.NetUtil: java.lang.String getHostname(java.net.InetSocketAddress)>(v);
v = staticinvoke <io.netty.util.NetUtil: boolean isValidIpV6Address(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.net.InetSocketAddress: boolean isUnresolved()>();
if v != 0 goto label;
v = virtualinvoke v.<java.net.InetSocketAddress: java.net.InetAddress getAddress()>();
v = staticinvoke <io.netty.util.NetUtil: java.lang.String toAddressString(java.net.InetAddress)>(v);
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("[\u]");
return v;
label:
return v;
}
public static long normalizeAndGetContentLength(java.util.List, boolean, boolean)
{
boolean v, v, v, v, v, v, v, v;
java.util.List v;
java.lang.String[] v;
long v, v;
int v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
java.util.Iterator v;
char v;
java.lang.NumberFormatException v;
java.lang.IllegalArgumentException v, v, v, v;
java.lang.Object v, v;
v := @parameter: java.util.List;
v := @parameter: boolean;
v := @parameter: boolean;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
return -1L;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v > 1 goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(44);
if v < 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
if v != 0 goto label;
if v == 0 goto label;
v = null;
v = interfaceinvoke v.<java.util.List: 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 = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = <io.netty.handler.codec.http.HttpUtil: java.lang.String COMMA_STRING>;
v = (int) -1;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String,int)>(v, v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
if v != null goto label;
v = v;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.List)>(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[])>("Multiple Content-Length values found: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
v = v;
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.List)>(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[])>("Multiple Content-Length values found: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
v = staticinvoke <java.lang.Character: boolean isDigit(char)>(v);
if v != 0 goto label;
label:
v = new java.lang.IllegalArgumentException;
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[])>("Content-Length value is not a number: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = staticinvoke <io.netty.util.internal.ObjectUtil: long checkPositiveOrZero(long,java.lang.String)>(v, "Content-Length value");
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
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[])>("Content-Length value is not a number: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.NumberFormatException from label to label with label;
}
static void <clinit>()
{
io.netty.util.AsciiString v, v, v;
java.lang.String v, v;
v = <io.netty.handler.codec.http.HttpHeaderValues: io.netty.util.AsciiString CHARSET>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (io.netty.util.AsciiString)>(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[])>("\u0001=");
v = staticinvoke <io.netty.util.AsciiString: io.netty.util.AsciiString of(java.lang.CharSequence)>(v);
<io.netty.handler.codec.http.HttpUtil: io.netty.util.AsciiString CHARSET_EQUALS> = v;
v = staticinvoke <io.netty.util.AsciiString: io.netty.util.AsciiString cached(java.lang.String)>(";");
<io.netty.handler.codec.http.HttpUtil: io.netty.util.AsciiString SEMICOLON> = v;
v = staticinvoke <java.lang.String: java.lang.String valueOf(char)>(44);
<io.netty.handler.codec.http.HttpUtil: java.lang.String COMMA_STRING> = v;
return;
}
}