public final class org.glassfish.grizzly.http.util.CookieUtils extends java.lang.Object
{
public static final boolean COOKIE_VERSION_ONE_STRICT_COMPLIANCE;
public static final boolean RFC_6265_SUPPORT_ENABLED;
public static final boolean USE_LEGACY_PARSER;
public static final boolean ALWAYS_ADD_EXPIRES;
static final char[] SEPARATORS;
static final boolean[] separators;
static final java.lang.String OLD_COOKIE_PATTERN;
public static final java.lang.ThreadLocal OLD_COOKIE_FORMAT;
static final java.lang.String ancientDate;
static final java.lang.String tspecials;
static final java.lang.String tspecials;
static final java.lang.String tspecials2NoSlash;
public void <init>()
{
org.glassfish.grizzly.http.util.CookieUtils v;
v := @this: org.glassfish.grizzly.http.util.CookieUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static boolean isToken(java.lang.String)
{
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v = staticinvoke <org.glassfish.grizzly.http.util.CookieUtils: boolean isToken(java.lang.String,java.lang.String)>(v, null);
return v;
}
public static boolean isToken(java.lang.String, java.lang.String)
{
char v;
int v, v, v, v;
java.lang.String v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v != null goto label;
v = ",; ";
goto label;
label:
v = v;
label:
v = v;
if v != null goto label;
return 1;
label:
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);
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(v);
v = (int) -1;
if v == v goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
}
public static boolean containsCTL(java.lang.String, int)
{
int v, v, v;
char v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: int;
if v != null goto label;
return 0;
label:
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 < 32 goto label;
if v < 127 goto label;
label:
if v == 9 goto label;
return 1;
label:
v = v + 1;
goto label;
label:
return 0;
}
public static boolean isToken2(java.lang.String)
{
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v = staticinvoke <org.glassfish.grizzly.http.util.CookieUtils: boolean isToken2(java.lang.String,java.lang.String)>(v, null);
return v;
}
public static boolean isToken2(java.lang.String, java.lang.String)
{
char v;
int v, v, v, v;
java.lang.String v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v != null goto label;
v = "()<>@,;:\\\"/[]?={} \t";
goto label;
label:
v = v;
label:
v = v;
if v != null goto label;
return 1;
label:
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);
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(v);
v = (int) -1;
if v == v goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
}
public static boolean equals(java.lang.String, byte[], int, int)
{
byte[] v;
char v;
byte v;
int v, v, v, v, v, v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v - v;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v == v goto label;
label:
return 0;
label:
v = v;
v = 0;
label:
if v >= v goto label;
v = v;
v = v + 1;
v = v[v];
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == v goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
}
public static boolean equals(java.lang.String, org.glassfish.grizzly.Buffer, int, int)
{
org.glassfish.grizzly.Buffer v;
char v;
byte v;
int v, v, v, v, v, v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: int;
v := @parameter: int;
v = v - v;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v == v goto label;
label:
return 0;
label:
v = v;
v = 0;
label:
if v >= v goto label;
v = v;
v = v + 1;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: byte get(int)>(v);
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == v goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
}
public static boolean equals(java.lang.String, java.lang.String, int, int)
{
char v, v;
int v, v, v, v, v, v, v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v = v - v;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v == v goto label;
label:
return 0;
label:
v = v;
v = 0;
label:
if v >= v goto label;
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == v goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
}
public static boolean equalsIgnoreCase(java.lang.String, org.glassfish.grizzly.Buffer, int, int)
{
org.glassfish.grizzly.Buffer v;
char v;
byte v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: int;
v := @parameter: int;
v = v - v;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v == v goto label;
label:
return 0;
label:
v = v;
v = 0;
label:
if v >= v goto label;
v = v;
v = v + 1;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: byte get(int)>(v);
v = staticinvoke <org.glassfish.grizzly.http.util.Ascii: int toLower(int)>(v);
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <org.glassfish.grizzly.http.util.Ascii: int toLower(int)>(v);
if v == v goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
}
public static boolean equalsIgnoreCase(java.lang.String, byte[], int, int)
{
byte[] v;
char v;
byte v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v - v;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v == v goto label;
label:
return 0;
label:
v = v;
v = 0;
label:
if v >= v goto label;
v = v;
v = v + 1;
v = v[v];
v = staticinvoke <org.glassfish.grizzly.http.util.Ascii: int toLower(int)>(v);
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <org.glassfish.grizzly.http.util.Ascii: int toLower(int)>(v);
if v == v goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
}
public static boolean equalsIgnoreCase(java.lang.String, java.lang.String, int, int)
{
char v, v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v = v - v;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v == v goto label;
label:
return 0;
label:
v = v;
v = 0;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <org.glassfish.grizzly.http.util.Ascii: int toLower(int)>(v);
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <org.glassfish.grizzly.http.util.Ascii: int toLower(int)>(v);
if v == v goto label;
return 0;
label:
v = v + 1;
goto label;
label:
return 1;
}
public static boolean isSeparator(int)
{
int v;
boolean v;
v := @parameter: int;
v = staticinvoke <org.glassfish.grizzly.http.util.CookieUtils: boolean isSeparator(int,boolean)>(v, 1);
return v;
}
public static boolean isSeparator(int, boolean)
{
boolean[] v;
int v;
boolean v, v, v, v;
v := @parameter: int;
v := @parameter: boolean;
if v == 0 goto label;
if v <= 0 goto label;
if v >= 126 goto label;
v = <org.glassfish.grizzly.http.util.CookieUtils: boolean[] separators>;
v = v[v];
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
if v == 59 goto label;
if v != 44 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static boolean isWhiteSpace(int)
{
int v;
boolean v;
v := @parameter: int;
if v == 32 goto label;
if v == 9 goto label;
if v == 10 goto label;
if v == 13 goto label;
if v != 12 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static int getTokenEndPosition(org.glassfish.grizzly.Buffer, int, int)
{
int v, v, v;
org.glassfish.grizzly.Buffer v;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <org.glassfish.grizzly.http.util.CookieUtils: int getTokenEndPosition(org.glassfish.grizzly.Buffer,int,int,boolean)>(v, v, v, 1);
return v;
}
public static int getTokenEndPosition(org.glassfish.grizzly.Buffer, int, int, boolean)
{
byte v;
int v, v, v;
org.glassfish.grizzly.Buffer v;
boolean v, v;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v = v;
label:
if v >= v goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: byte get(int)>(v);
v = staticinvoke <org.glassfish.grizzly.http.util.CookieUtils: boolean isSeparator(int,boolean)>(v, v);
if v != 0 goto label;
v = v + 1;
goto label;
label:
if v <= v goto label;
return v;
label:
return v;
}
public static int getTokenEndPosition(byte[], int, int)
{
byte[] v;
int v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <org.glassfish.grizzly.http.util.CookieUtils: int getTokenEndPosition(byte[],int,int,boolean)>(v, v, v, 1);
return v;
}
public static int getTokenEndPosition(byte[], int, int, boolean)
{
byte[] v;
byte v;
int v, v, v;
boolean v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v = v;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.glassfish.grizzly.http.util.CookieUtils: boolean isSeparator(int,boolean)>(v, v);
if v != 0 goto label;
v = v + 1;
goto label;
label:
if v <= v goto label;
return v;
label:
return v;
}
public static int getTokenEndPosition(java.lang.String, int, int)
{
int v, v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v = staticinvoke <org.glassfish.grizzly.http.util.CookieUtils: int getTokenEndPosition(java.lang.String,int,int,boolean)>(v, v, v, 1);
return v;
}
public static int getTokenEndPosition(java.lang.String, int, int, boolean)
{
int v, v, v;
char v;
java.lang.String v;
boolean v, v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
v = v;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <org.glassfish.grizzly.http.util.CookieUtils: boolean isSeparator(int,boolean)>(v, v);
if v != 0 goto label;
v = v + 1;
goto label;
label:
if v <= v goto label;
return v;
label:
return v;
}
public static int getQuotedValueEndPosition(org.glassfish.grizzly.Buffer, int, int)
{
byte v, v;
int v, v, v, v;
org.glassfish.grizzly.Buffer v;
v := @parameter: org.glassfish.grizzly.Buffer;
v := @parameter: int;
v := @parameter: int;
v = v;
label:
if v >= v goto label;
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: byte get(int)>(v);
if v != 34 goto label;
return v;
label:
v = interfaceinvoke v.<org.glassfish.grizzly.Buffer: byte get(int)>(v);
if v != 92 goto label;
v = v - 1;
if v >= v goto label;
v = v + 2;
goto label;
label:
v = v + 1;
goto label;
label:
return v;
}
public static int getQuotedValueEndPosition(byte[], int, int)
{
byte[] v;
byte v, v;
int v, v, v, v;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = v;
label:
if v >= v goto label;
v = v[v];
if v != 34 goto label;
return v;
label:
v = v[v];
if v != 92 goto label;
v = v - 1;
if v >= v goto label;
v = v + 2;
goto label;
label:
v = v + 1;
goto label;
label:
return v;
}
public static int getQuotedValueEndPosition(java.lang.String, int, int)
{
int v, v, v, v;
char v, v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v = v;
label:
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 34 goto label;
return v;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 92 goto label;
v = v - 1;
if v >= v goto label;
v = v + 2;
goto label;
label:
v = v + 1;
goto label;
label:
return v;
}
static void <clinit>()
{
java.util.Date v;
int v, v, v;
java.lang.Boolean v;
java.lang.String v, v;
boolean v, v, v, v;
java.lang.ThreadLocal v;
org.glassfish.grizzly.http.util.CookieUtils$1 v;
boolean[] v, v, v;
char v;
char[] v, v;
java.lang.Object v;
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("org.glassfish.web.rfc2109_cookie_names_enforced");
<org.glassfish.grizzly.http.util.CookieUtils: boolean COOKIE_VERSION_ONE_STRICT_COMPLIANCE> = v;
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("org.glassfish.web.rfc_6265_support_enabled");
<org.glassfish.grizzly.http.util.CookieUtils: boolean RFC_6265_SUPPORT_ENABLED> = v;
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("org.glassfish.web.legacy_cookie_parser");
<org.glassfish.grizzly.http.util.CookieUtils: boolean USE_LEGACY_PARSER> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("org.glassfish.grizzly.util.http.ServerCookie.ALWAYS_ADD_EXPIRES", "true");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
<org.glassfish.grizzly.http.util.CookieUtils: boolean ALWAYS_ADD_EXPIRES> = v;
v = newarray (char)[19];
v[0] = 9;
v[1] = 32;
v[2] = 34;
v[3] = 39;
v[4] = 40;
v[5] = 41;
v[6] = 44;
v[7] = 58;
v[8] = 59;
v[9] = 60;
v[10] = 61;
v[11] = 62;
v[12] = 63;
v[13] = 64;
v[14] = 91;
v[15] = 92;
v[16] = 93;
v[17] = 123;
v[18] = 125;
<org.glassfish.grizzly.http.util.CookieUtils: char[] SEPARATORS> = v;
v = newarray (boolean)[128];
<org.glassfish.grizzly.http.util.CookieUtils: boolean[] separators> = v;
v = 0;
label:
if v >= 128 goto label;
v = <org.glassfish.grizzly.http.util.CookieUtils: boolean[] separators>;
v[v] = 0;
v = v + 1;
goto label;
label:
v = <org.glassfish.grizzly.http.util.CookieUtils: char[] SEPARATORS>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = <org.glassfish.grizzly.http.util.CookieUtils: boolean[] separators>;
v[v] = 1;
v = v + 1;
goto label;
label:
v = new org.glassfish.grizzly.http.util.CookieUtils$1;
specialinvoke v.<org.glassfish.grizzly.http.util.CookieUtils$1: void <init>()>();
<org.glassfish.grizzly.http.util.CookieUtils: java.lang.ThreadLocal OLD_COOKIE_FORMAT> = v;
v = <org.glassfish.grizzly.http.util.CookieUtils: java.lang.ThreadLocal OLD_COOKIE_FORMAT>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v = new java.util.Date;
specialinvoke v.<java.util.Date: void <init>(long)>(10000L);
v = virtualinvoke v.<java.text.SimpleDateFormat: java.lang.String format(java.util.Date)>(v);
<org.glassfish.grizzly.http.util.CookieUtils: java.lang.String ancientDate> = v;
return;
}
}