public class io.netty.handler.codec.http.QueryStringDecoder extends java.lang.Object
{
private static final int DEFAULT_MAX_PARAMS;
private final java.nio.charset.Charset charset;
private final java.lang.String uri;
private final int maxParams;
private final boolean semicolonIsNormalChar;
private int pathEndIdx;
private java.lang.String path;
private java.util.Map params;
public void <init>(java.lang.String)
{
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.String v;
java.nio.charset.Charset v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v := @parameter: java.lang.String;
v = <io.netty.handler.codec.http.HttpConstants: java.nio.charset.Charset DEFAULT_CHARSET>;
specialinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: void <init>(java.lang.String,java.nio.charset.Charset)>(v, v);
return;
}
public void <init>(java.lang.String, boolean)
{
java.nio.charset.Charset v;
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.String v;
boolean v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = <io.netty.handler.codec.http.HttpConstants: java.nio.charset.Charset DEFAULT_CHARSET>;
specialinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: void <init>(java.lang.String,java.nio.charset.Charset,boolean)>(v, v, v);
return;
}
public void <init>(java.lang.String, java.nio.charset.Charset)
{
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.String v;
java.nio.charset.Charset v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v := @parameter: java.lang.String;
v := @parameter: java.nio.charset.Charset;
specialinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: void <init>(java.lang.String,java.nio.charset.Charset,boolean)>(v, v, 1);
return;
}
public void <init>(java.lang.String, java.nio.charset.Charset, boolean)
{
java.nio.charset.Charset v;
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.String v;
boolean v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v := @parameter: java.lang.String;
v := @parameter: java.nio.charset.Charset;
v := @parameter: boolean;
specialinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: void <init>(java.lang.String,java.nio.charset.Charset,boolean,int)>(v, v, v, 1024);
return;
}
public void <init>(java.lang.String, java.nio.charset.Charset, boolean, int)
{
java.nio.charset.Charset v;
int v;
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.String v;
boolean v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v := @parameter: java.lang.String;
v := @parameter: java.nio.charset.Charset;
v := @parameter: boolean;
v := @parameter: int;
specialinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: void <init>(java.lang.String,java.nio.charset.Charset,boolean,int,boolean)>(v, v, v, v, 0);
return;
}
public void <init>(java.lang.String, java.nio.charset.Charset, boolean, int, boolean)
{
byte v;
java.nio.charset.Charset v;
int v, v;
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.Object v, v;
java.lang.String v;
boolean v, v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v := @parameter: java.lang.String;
v := @parameter: java.nio.charset.Charset;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "uri");
v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String uri> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "charset");
v.<io.netty.handler.codec.http.QueryStringDecoder: java.nio.charset.Charset charset> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: int checkPositive(int,java.lang.String)>(v, "maxParams");
v.<io.netty.handler.codec.http.QueryStringDecoder: int maxParams> = v;
v.<io.netty.handler.codec.http.QueryStringDecoder: boolean semicolonIsNormalChar> = v;
if v == 0 goto label;
v = -1;
goto label;
label:
v = 0;
label:
v.<io.netty.handler.codec.http.QueryStringDecoder: int pathEndIdx> = v;
return;
}
public void <init>(java.net.URI)
{
io.netty.handler.codec.http.QueryStringDecoder v;
java.net.URI v;
java.nio.charset.Charset v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v := @parameter: java.net.URI;
v = <io.netty.handler.codec.http.HttpConstants: java.nio.charset.Charset DEFAULT_CHARSET>;
specialinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: void <init>(java.net.URI,java.nio.charset.Charset)>(v, v);
return;
}
public void <init>(java.net.URI, java.nio.charset.Charset)
{
io.netty.handler.codec.http.QueryStringDecoder v;
java.net.URI v;
java.nio.charset.Charset v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v := @parameter: java.net.URI;
v := @parameter: java.nio.charset.Charset;
specialinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: void <init>(java.net.URI,java.nio.charset.Charset,int)>(v, v, 1024);
return;
}
public void <init>(java.net.URI, java.nio.charset.Charset, int)
{
java.nio.charset.Charset v;
int v;
io.netty.handler.codec.http.QueryStringDecoder v;
java.net.URI v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v := @parameter: java.net.URI;
v := @parameter: java.nio.charset.Charset;
v := @parameter: int;
specialinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: void <init>(java.net.URI,java.nio.charset.Charset,int,boolean)>(v, v, v, 0);
return;
}
public void <init>(java.net.URI, java.nio.charset.Charset, int, boolean)
{
java.nio.charset.Charset v;
int v, v, v;
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.Object v;
java.lang.String v, v, v;
java.net.URI v;
boolean v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v := @parameter: java.net.URI;
v := @parameter: java.nio.charset.Charset;
v := @parameter: int;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getRawPath()>();
if v != null goto label;
v = "";
label:
v = virtualinvoke v.<java.net.URI: java.lang.String getRawQuery()>();
if v != null goto label;
v = v;
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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?\u0001");
label:
v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String uri> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "charset");
v.<io.netty.handler.codec.http.QueryStringDecoder: java.nio.charset.Charset charset> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: int checkPositive(int,java.lang.String)>(v, "maxParams");
v.<io.netty.handler.codec.http.QueryStringDecoder: int maxParams> = v;
v.<io.netty.handler.codec.http.QueryStringDecoder: boolean semicolonIsNormalChar> = v;
v = virtualinvoke v.<java.lang.String: int length()>();
v.<io.netty.handler.codec.http.QueryStringDecoder: int pathEndIdx> = v;
return;
}
public java.lang.String toString()
{
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.String v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v = virtualinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String uri()>();
return v;
}
public java.lang.String uri()
{
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.String v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String uri>;
return v;
}
public java.lang.String path()
{
java.nio.charset.Charset v;
int v;
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.String v, v, v, v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String path>;
if v != null goto label;
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String uri>;
v = specialinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: int pathEndIdx()>();
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.nio.charset.Charset charset>;
v = staticinvoke <io.netty.handler.codec.http.QueryStringDecoder: java.lang.String decodeComponent(java.lang.String,int,int,java.nio.charset.Charset,boolean)>(v, 0, v, v, 1);
v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String path> = v;
label:
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String path>;
return v;
}
public java.util.Map parameters()
{
java.nio.charset.Charset v;
java.util.Map v, v, v;
int v, v;
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.String v;
boolean v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.util.Map params>;
if v != null goto label;
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String uri>;
v = specialinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: int pathEndIdx()>();
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.nio.charset.Charset charset>;
v = v.<io.netty.handler.codec.http.QueryStringDecoder: int maxParams>;
v = v.<io.netty.handler.codec.http.QueryStringDecoder: boolean semicolonIsNormalChar>;
v = staticinvoke <io.netty.handler.codec.http.QueryStringDecoder: java.util.Map decodeParams(java.lang.String,int,java.nio.charset.Charset,int,boolean)>(v, v, v, v, v);
v.<io.netty.handler.codec.http.QueryStringDecoder: java.util.Map params> = v;
label:
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.util.Map params>;
return v;
}
public java.lang.String rawPath()
{
int v;
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.String v, v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String uri>;
v = specialinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: int pathEndIdx()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
return v;
}
public java.lang.String rawQuery()
{
int v, v, v;
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.String v, v, v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v = specialinvoke v.<io.netty.handler.codec.http.QueryStringDecoder: int pathEndIdx()>();
v = v + 1;
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String uri>;
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String uri>;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
goto label;
label:
v = "";
label:
return v;
}
private int pathEndIdx()
{
int v, v, v, v;
io.netty.handler.codec.http.QueryStringDecoder v;
java.lang.String v;
v := @this: io.netty.handler.codec.http.QueryStringDecoder;
v = v.<io.netty.handler.codec.http.QueryStringDecoder: int pathEndIdx>;
v = (int) -1;
if v != v goto label;
v = v.<io.netty.handler.codec.http.QueryStringDecoder: java.lang.String uri>;
v = staticinvoke <io.netty.handler.codec.http.QueryStringDecoder: int findPathEndIndex(java.lang.String)>(v);
v.<io.netty.handler.codec.http.QueryStringDecoder: int pathEndIdx> = v;
label:
v = v.<io.netty.handler.codec.http.QueryStringDecoder: int pathEndIdx>;
return v;
}
private static java.util.Map decodeParams(java.lang.String, int, java.nio.charset.Charset, int, boolean)
{
char v, v;
java.util.LinkedHashMap v;
java.nio.charset.Charset v;
java.util.Map v;
int v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: java.nio.charset.Charset;
v := @parameter: int;
v := @parameter: boolean;
v = virtualinvoke v.<java.lang.String: int length()>();
if v < v goto label;
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
return v;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 63 goto label;
v = v + 1;
label:
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v = v;
v = (int) -1;
v = v;
v = v;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
lookupswitch(v)
{
case 35: goto label;
case 38: goto label;
case 59: goto label;
case 61: goto label;
default: goto label;
};
label:
if v != v goto label;
v = v + 1;
goto label;
label:
if v >= v goto label;
v = v + 1;
goto label;
label:
if v != 0 goto label;
label:
v = staticinvoke <io.netty.handler.codec.http.QueryStringDecoder: boolean addParam(java.lang.String,int,int,int,java.util.Map,java.nio.charset.Charset)>(v, v, v, v, v, v);
if v == 0 goto label;
v = v - 1;
if v != 0 goto label;
return v;
label:
v = v + 1;
label:
v = v + 1;
goto label;
label:
staticinvoke <io.netty.handler.codec.http.QueryStringDecoder: boolean addParam(java.lang.String,int,int,int,java.util.Map,java.nio.charset.Charset)>(v, v, v, v, v, v);
return v;
}
private static boolean addParam(java.lang.String, int, int, int, java.util.Map, java.nio.charset.Charset)
{
java.util.ArrayList v;
java.nio.charset.Charset v;
java.util.Map v;
int v, v, v, v;
java.lang.Object v;
java.lang.String v, v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.util.Map;
v := @parameter: java.nio.charset.Charset;
if v < v goto label;
return 0;
label:
if v > v goto label;
v = v + 1;
label:
v = v - 1;
v = staticinvoke <io.netty.handler.codec.http.QueryStringDecoder: java.lang.String decodeComponent(java.lang.String,int,int,java.nio.charset.Charset,boolean)>(v, v, v, v, 0);
v = staticinvoke <io.netty.handler.codec.http.QueryStringDecoder: java.lang.String decodeComponent(java.lang.String,int,int,java.nio.charset.Charset,boolean)>(v, v, v, v, 0);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(1);
v = v;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return 1;
}
public static java.lang.String decodeComponent(java.lang.String)
{
java.lang.String v, v;
java.nio.charset.Charset v;
v := @parameter: java.lang.String;
v = <io.netty.handler.codec.http.HttpConstants: java.nio.charset.Charset DEFAULT_CHARSET>;
v = staticinvoke <io.netty.handler.codec.http.QueryStringDecoder: java.lang.String decodeComponent(java.lang.String,java.nio.charset.Charset)>(v, v);
return v;
}
public static java.lang.String decodeComponent(java.lang.String, java.nio.charset.Charset)
{
java.nio.charset.Charset v;
int v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: java.nio.charset.Charset;
if v != null goto label;
return "";
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <io.netty.handler.codec.http.QueryStringDecoder: java.lang.String decodeComponent(java.lang.String,int,int,java.nio.charset.Charset,boolean)>(v, 0, v, v, 0);
return v;
}
private static java.lang.String decodeComponent(java.lang.String, int, int, java.nio.charset.Charset, boolean)
{
byte[] v;
byte v;
java.nio.charset.Charset v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v;
boolean v;
char v, v, v, v;
java.lang.IllegalArgumentException v;
java.lang.StringBuilder v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.nio.charset.Charset;
v := @parameter: boolean;
v = v - v;
if v > 0 goto label;
return "";
label:
v = (int) -1;
v = v;
v = v;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 37 goto label;
if v != 43 goto label;
if v != 0 goto label;
label:
v = v;
goto label;
label:
v = v + 1;
goto label;
label:
v = (int) -1;
if v != v goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
return v;
label:
v = v - v;
v = v / 3;
v = staticinvoke <io.netty.util.internal.PlatformDependent: byte[] allocateUninitializedArray(int)>(v);
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, v, v);
v = v;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 37 goto label;
if v != 43 goto label;
if v == 0 goto label;
label:
v = v;
goto label;
label:
v = 32;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
v = 0;
label:
v = v + 3;
if v <= v goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,java.lang.String)>(v, 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[])>("unterminated escape sequence at index \u of: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v;
v = v + 1;
v = v + 1;
v = staticinvoke <io.netty.util.internal.StringUtil: byte decodeHexByte(java.lang.CharSequence,int)>(v, v);
v[v] = v;
v = v + 3;
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 37 goto label;
label:
v = v - 1;
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(byte[],int,int,java.nio.charset.Charset)>(v, 0, v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private static int findPathEndIndex(java.lang.String)
{
int v, v;
char v;
java.lang.String v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
v = 0;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 63 goto label;
if v != 35 goto label;
label:
return v;
label:
v = v + 1;
goto label;
label:
return v;
}
}