public class org.apache.http.impl.cookie.LaxExpiresHandler extends org.apache.http.impl.cookie.AbstractCookieAttributeHandler implements org.apache.http.cookie.CommonCookieAttributeHandler
{
static final java.util.TimeZone UTC;
private static final java.util.BitSet DELIMS;
private static final java.util.Map MONTHS;
private static final java.util.regex.Pattern TIME_PATTERN;
private static final java.util.regex.Pattern DAY_OF_MONTH_PATTERN;
private static final java.util.regex.Pattern MONTH_PATTERN;
private static final java.util.regex.Pattern YEAR_PATTERN;
public void <init>()
{
org.apache.http.impl.cookie.LaxExpiresHandler v;
v := @this: org.apache.http.impl.cookie.LaxExpiresHandler;
specialinvoke v.<org.apache.http.impl.cookie.AbstractCookieAttributeHandler: void <init>()>();
return;
}
public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException
{
java.util.Date v;
org.apache.http.cookie.SetCookie v;
java.util.regex.Matcher v, v, v, v;
org.apache.http.cookie.MalformedCookieException v, v, v;
java.util.Locale v;
java.util.Map v;
boolean v, v, v, v, v, v, v, v, v, v;
java.util.TimeZone v;
org.apache.http.impl.cookie.LaxExpiresHandler v;
java.lang.StringBuilder v;
java.util.regex.Pattern v, v, v, v;
java.util.Calendar v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
java.lang.NumberFormatException v;
java.lang.Object v;
org.apache.http.message.ParserCursor v;
v := @this: org.apache.http.impl.cookie.LaxExpiresHandler;
v := @parameter: org.apache.http.cookie.SetCookie;
v := @parameter: java.lang.String;
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Cookie");
v = staticinvoke <org.apache.http.util.TextUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
return;
label:
v = new org.apache.http.message.ParserCursor;
v = virtualinvoke v.<java.lang.String: int length()>();
specialinvoke v.<org.apache.http.message.ParserCursor: void <init>(int,int)>(0, v);
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = 0;
v = 0;
v = 0;
v = 0;
v = 0;
v = 0;
v = 0;
v = 0;
v = 0;
v = 0;
label:
v = virtualinvoke v.<org.apache.http.message.ParserCursor: boolean atEnd()>();
if v != 0 goto label;
specialinvoke v.<org.apache.http.impl.cookie.LaxExpiresHandler: void skipDelims(java.lang.CharSequence,org.apache.http.message.ParserCursor)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(0);
specialinvoke v.<org.apache.http.impl.cookie.LaxExpiresHandler: void copyContent(java.lang.CharSequence,org.apache.http.message.ParserCursor,java.lang.StringBuilder)>(v, v, v);
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
if v == 0 goto label;
if v != 0 goto label;
v = <org.apache.http.impl.cookie.LaxExpiresHandler: java.util.regex.Pattern TIME_PATTERN>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = 1;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(2);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(3);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
goto label;
label:
if v != 0 goto label;
v = <org.apache.http.impl.cookie.LaxExpiresHandler: java.util.regex.Pattern DAY_OF_MONTH_PATTERN>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = 1;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
goto label;
label:
if v != 0 goto label;
v = <org.apache.http.impl.cookie.LaxExpiresHandler: java.util.regex.Pattern MONTH_PATTERN>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = 1;
v = <org.apache.http.impl.cookie.LaxExpiresHandler: java.util.Map MONTHS>;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
v = <java.util.Locale: java.util.Locale ROOT>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
goto label;
label:
if v != 0 goto label;
v = <org.apache.http.impl.cookie.LaxExpiresHandler: java.util.regex.Pattern YEAR_PATTERN>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = 1;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
goto label;
label:
v := @caughtexception;
v = new org.apache.http.cookie.MalformedCookieException;
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[])>("Invalid \'expires\' attribute: \u0001");
specialinvoke v.<org.apache.http.cookie.MalformedCookieException: void <init>(java.lang.String)>(v);
throw v;
label:
if v == 0 goto label;
if v == 0 goto label;
if v == 0 goto label;
if v != 0 goto label;
label:
v = new org.apache.http.cookie.MalformedCookieException;
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[])>("Invalid \'expires\' attribute: \u0001");
specialinvoke v.<org.apache.http.cookie.MalformedCookieException: void <init>(java.lang.String)>(v);
throw v;
label:
if v < 70 goto label;
if v > 99 goto label;
v = 1900 + v;
label:
if v < 0 goto label;
if v > 69 goto label;
v = 2000 + v;
label:
if v < 1 goto label;
if v > 31 goto label;
if v < 1601 goto label;
if v > 23 goto label;
if v > 59 goto label;
if v <= 59 goto label;
label:
v = new org.apache.http.cookie.MalformedCookieException;
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[])>("Invalid \'expires\' attribute: \u0001");
specialinvoke v.<org.apache.http.cookie.MalformedCookieException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <java.util.Calendar: java.util.Calendar getInstance()>();
v = <org.apache.http.impl.cookie.LaxExpiresHandler: java.util.TimeZone UTC>;
virtualinvoke v.<java.util.Calendar: void setTimeZone(java.util.TimeZone)>(v);
virtualinvoke v.<java.util.Calendar: void setTimeInMillis(long)>(0L);
virtualinvoke v.<java.util.Calendar: void set(int,int)>(13, v);
virtualinvoke v.<java.util.Calendar: void set(int,int)>(12, v);
virtualinvoke v.<java.util.Calendar: void set(int,int)>(11, v);
virtualinvoke v.<java.util.Calendar: void set(int,int)>(5, v);
virtualinvoke v.<java.util.Calendar: void set(int,int)>(2, v);
virtualinvoke v.<java.util.Calendar: void set(int,int)>(1, v);
v = virtualinvoke v.<java.util.Calendar: java.util.Date getTime()>();
interfaceinvoke v.<org.apache.http.cookie.SetCookie: void setExpiryDate(java.util.Date)>(v);
return;
catch java.lang.NumberFormatException from label to label with label;
}
private void skipDelims(java.lang.CharSequence, org.apache.http.message.ParserCursor)
{
java.lang.CharSequence v;
char v;
org.apache.http.impl.cookie.LaxExpiresHandler v;
int v, v, v, v;
java.util.BitSet v;
org.apache.http.message.ParserCursor v;
boolean v;
v := @this: org.apache.http.impl.cookie.LaxExpiresHandler;
v := @parameter: java.lang.CharSequence;
v := @parameter: org.apache.http.message.ParserCursor;
v = virtualinvoke v.<org.apache.http.message.ParserCursor: int getPos()>();
v = virtualinvoke v.<org.apache.http.message.ParserCursor: int getPos()>();
v = virtualinvoke v.<org.apache.http.message.ParserCursor: int getUpperBound()>();
v = v;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = <org.apache.http.impl.cookie.LaxExpiresHandler: java.util.BitSet DELIMS>;
v = virtualinvoke v.<java.util.BitSet: boolean get(int)>(v);
if v == 0 goto label;
v = v + 1;
v = v + 1;
goto label;
label:
virtualinvoke v.<org.apache.http.message.ParserCursor: void updatePos(int)>(v);
return;
}
private void copyContent(java.lang.CharSequence, org.apache.http.message.ParserCursor, java.lang.StringBuilder)
{
java.lang.CharSequence v;
char v;
org.apache.http.impl.cookie.LaxExpiresHandler v;
int v, v, v, v;
java.lang.StringBuilder v;
java.util.BitSet v;
org.apache.http.message.ParserCursor v;
boolean v;
v := @this: org.apache.http.impl.cookie.LaxExpiresHandler;
v := @parameter: java.lang.CharSequence;
v := @parameter: org.apache.http.message.ParserCursor;
v := @parameter: java.lang.StringBuilder;
v = virtualinvoke v.<org.apache.http.message.ParserCursor: int getPos()>();
v = virtualinvoke v.<org.apache.http.message.ParserCursor: int getPos()>();
v = virtualinvoke v.<org.apache.http.message.ParserCursor: int getUpperBound()>();
v = v;
label:
if v >= v goto label;
v = interfaceinvoke v.<java.lang.CharSequence: char charAt(int)>(v);
v = <org.apache.http.impl.cookie.LaxExpiresHandler: java.util.BitSet DELIMS>;
v = virtualinvoke v.<java.util.BitSet: boolean get(int)>(v);
if v != 0 goto label;
v = v + 1;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v + 1;
goto label;
label:
virtualinvoke v.<org.apache.http.message.ParserCursor: void updatePos(int)>(v);
return;
}
public java.lang.String getAttributeName()
{
org.apache.http.impl.cookie.LaxExpiresHandler v;
v := @this: org.apache.http.impl.cookie.LaxExpiresHandler;
return "expires";
}
static void <clinit>()
{
java.lang.Integer v, v, v, v, v, v, v, v, v, v, v, v;
int v, v, v, v;
java.util.TimeZone v;
java.util.concurrent.ConcurrentHashMap v;
java.util.BitSet v;
java.util.regex.Pattern v, v, v, v;
v = staticinvoke <java.util.TimeZone: java.util.TimeZone getTimeZone(java.lang.String)>("UTC");
<org.apache.http.impl.cookie.LaxExpiresHandler: java.util.TimeZone UTC> = v;
v = new java.util.BitSet;
specialinvoke v.<java.util.BitSet: void <init>()>();
virtualinvoke v.<java.util.BitSet: void set(int)>(9);
v = 32;
label:
if v > 47 goto label;
virtualinvoke v.<java.util.BitSet: void set(int)>(v);
v = v + 1;
goto label;
label:
v = 59;
label:
if v > 64 goto label;
virtualinvoke v.<java.util.BitSet: void set(int)>(v);
v = v + 1;
goto label;
label:
v = 91;
label:
if v > 96 goto label;
virtualinvoke v.<java.util.BitSet: void set(int)>(v);
v = v + 1;
goto label;
label:
v = 123;
label:
if v > 126 goto label;
virtualinvoke v.<java.util.BitSet: void set(int)>(v);
v = v + 1;
goto label;
label:
<org.apache.http.impl.cookie.LaxExpiresHandler: java.util.BitSet DELIMS> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>(int)>(12);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("jan", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("feb", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(2);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("mar", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(3);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("apr", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(4);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("may", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(5);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("jun", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(6);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("jul", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(7);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("aug", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(8);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("sep", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(9);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("oct", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(10);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("nov", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(11);
virtualinvoke v.<java.util.concurrent.ConcurrentHashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("dec", v);
<org.apache.http.impl.cookie.LaxExpiresHandler: java.util.Map MONTHS> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("^([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})([^0-9].*)?$");
<org.apache.http.impl.cookie.LaxExpiresHandler: java.util.regex.Pattern TIME_PATTERN> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("^([0-9]{1,2})([^0-9].*)?$");
<org.apache.http.impl.cookie.LaxExpiresHandler: java.util.regex.Pattern DAY_OF_MONTH_PATTERN> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String,int)>("^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)(.*)?$", 2);
<org.apache.http.impl.cookie.LaxExpiresHandler: java.util.regex.Pattern MONTH_PATTERN> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("^([0-9]{2,4})([^0-9].*)?$");
<org.apache.http.impl.cookie.LaxExpiresHandler: java.util.regex.Pattern YEAR_PATTERN> = v;
return;
}
}