public abstract class org.eclipse.jetty.http.CookieCutter
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.eclipse.jetty.http.CookieCutter
super_class: java.lang.Object
{
protected static final org.eclipse.jetty.util.log.Logger LOG;
descriptor: Lorg/eclipse/jetty/util/log/Logger;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected final org.eclipse.jetty.http.CookieCompliance _complianceMode;
descriptor: Lorg/eclipse/jetty/http/CookieCompliance;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final org.eclipse.jetty.http.ComplianceViolation$Listener _complianceListener;
descriptor: Lorg/eclipse/jetty/http/ComplianceViolation$Listener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/eclipse/jetty/http/CookieCutter;
invokestatic org.eclipse.jetty.util.log.Log.getLogger:(Ljava/lang/Class;)Lorg/eclipse/jetty/util/log/Logger;
putstatic org.eclipse.jetty.http.CookieCutter.LOG:Lorg/eclipse/jetty/util/log/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.eclipse.jetty.http.CookieCompliance, org.eclipse.jetty.http.ComplianceViolation$Listener);
descriptor: (Lorg/eclipse/jetty/http/CookieCompliance;Lorg/eclipse/jetty/http/ComplianceViolation$Listener;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.eclipse.jetty.http.CookieCutter._complianceMode:Lorg/eclipse/jetty/http/CookieCompliance;
2: aload 0
aload 2
putfield org.eclipse.jetty.http.CookieCutter._complianceListener:Lorg/eclipse/jetty/http/ComplianceViolation$Listener;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/http/CookieCutter;
0 4 1 compliance Lorg/eclipse/jetty/http/CookieCompliance;
0 4 2 complianceListener Lorg/eclipse/jetty/http/ComplianceViolation$Listener;
MethodParameters:
Name Flags
compliance
complianceListener
protected void parseFields(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=24, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 145
StackMap locals: org.eclipse.jetty.http.CookieCutter java.util.List java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aconst_null
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: aconst_null
astore 7
start local 7 6: aconst_null
astore 8
start local 8 7: aconst_null
astore 9
start local 9 8: aconst_null
astore 10
start local 10 9: iconst_0
istore 11
start local 11 10: iconst_0
istore 12
start local 12 11: iconst_0
istore 13
start local 13 12: iconst_0
istore 14
start local 14 13: iconst_0
istore 15
start local 15 14: iconst_m1
istore 16
start local 16 15: iconst_m1
istore 17
start local 17 16: iconst_0
istore 18
start local 18 17: aload 3
invokevirtual java.lang.String.length:()I
istore 19
start local 19 18: goto 142
19: StackMap locals: org.eclipse.jetty.http.CookieCutter java.util.List java.lang.StringBuilder java.lang.String java.util.Iterator java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int int int int int int int int int
StackMap stack:
iload 18
iload 19
if_icmpne 20
iconst_0
goto 21
StackMap locals:
StackMap stack:
20: aload 3
iload 18
invokevirtual java.lang.String.charAt:(I)C
StackMap locals:
StackMap stack: int
21: istore 20
start local 20 22: iload 13
ifeq 46
23: iload 15
ifeq 31
24: iconst_0
istore 15
25: iload 20
ifle 27
26: aload 2
iload 20
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
goto 141
27: StackMap locals: int
StackMap stack:
aload 2
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
28: iconst_0
istore 13
29: iinc 18 -1
30: goto 141
31: StackMap locals:
StackMap stack:
iload 20
lookupswitch { // 3
0: 39
34: 32
92: 37
default: 43
}
32: StackMap locals:
StackMap stack:
iconst_0
istore 13
33: iconst_1
istore 14
34: iload 18
istore 16
35: iconst_m1
istore 17
36: goto 141
37: StackMap locals:
StackMap stack:
iconst_1
istore 15
38: goto 141
39: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
40: iconst_0
istore 13
41: iinc 18 -1
42: goto 141
43: StackMap locals:
StackMap stack:
aload 2
iload 20
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
44: goto 141
45: StackMap locals:
StackMap stack:
goto 141
46: StackMap locals:
StackMap stack:
iload 12
ifeq 119
47: iload 20
lookupswitch { // 6
0: 60
9: 48
32: 48
34: 103
44: 49
59: 60
default: 109
}
48: StackMap locals:
StackMap stack:
goto 141
49: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.http.CookieCompliance$Violation.COMMA_NOT_VALID_OCTET:Lorg/eclipse/jetty/http/CookieCompliance$Violation;
aload 0
getfield org.eclipse.jetty.http.CookieCutter._complianceMode:Lorg/eclipse/jetty/http/CookieCompliance;
invokevirtual org.eclipse.jetty.http.CookieCompliance$Violation.isAllowedBy:(Lorg/eclipse/jetty/http/ComplianceViolation$Mode;)Z
ifeq 51
50: aload 0
getstatic org.eclipse.jetty.http.CookieCompliance$Violation.COMMA_NOT_VALID_OCTET:Lorg/eclipse/jetty/http/CookieCompliance$Violation;
new java.lang.StringBuilder
dup
ldc "Cookie "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.eclipse.jetty.http.CookieCutter.reportComplianceViolation:(Lorg/eclipse/jetty/http/CookieCompliance$Violation;Ljava/lang/String;)V
goto 60
51: StackMap locals:
StackMap stack:
iload 14
ifeq 56
52: aload 2
aload 3
iload 16
iload 18
iinc 18 -1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
53: iconst_1
istore 13
54: iconst_0
istore 14
55: goto 141
56: StackMap locals:
StackMap stack:
iload 16
ifge 58
57: iload 18
istore 16
58: StackMap locals:
StackMap stack:
iload 18
istore 17
59: goto 141
60: StackMap locals:
StackMap stack:
iload 14
ifeq 65
61: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 21
start local 21 62: aload 2
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
63: iconst_0
istore 14
64: goto 71
end local 21 65: StackMap locals:
StackMap stack:
iload 16
iflt 70
66: iload 17
iload 16
if_icmplt 67
aload 3
iload 16
iload 17
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 68
StackMap locals:
StackMap stack:
67: aload 3
iload 16
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
68: astore 21
start local 21 69: goto 71
end local 21 70: StackMap locals:
StackMap stack:
ldc ""
astore 21
start local 21 71: StackMap locals: java.lang.String
StackMap stack:
aload 5
ldc "$"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 89
72: getstatic org.eclipse.jetty.http.CookieCompliance$Violation.RESERVED_NAMES_NOT_DOLLAR_PREFIXED:Lorg/eclipse/jetty/http/CookieCompliance$Violation;
aload 0
getfield org.eclipse.jetty.http.CookieCutter._complianceMode:Lorg/eclipse/jetty/http/CookieCompliance;
invokevirtual org.eclipse.jetty.http.CookieCompliance$Violation.isAllowedBy:(Lorg/eclipse/jetty/http/ComplianceViolation$Mode;)Z
ifeq 99
73: aload 0
getstatic org.eclipse.jetty.http.CookieCompliance$Violation.RESERVED_NAMES_NOT_DOLLAR_PREFIXED:Lorg/eclipse/jetty/http/CookieCompliance$Violation;
new java.lang.StringBuilder
dup
ldc "Cookie "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " field "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.eclipse.jetty.http.CookieCutter.reportComplianceViolation:(Lorg/eclipse/jetty/http/CookieCompliance$Violation;Ljava/lang/String;)V
74: aload 5
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 22
start local 22 75: aload 22
dup
astore 23
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-1331729356: 76
36680265: 77
36693669: 78
559163880: 79
default: 88
}
StackMap locals: java.lang.String java.lang.String
StackMap stack:
76: aload 23
ldc "$version"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 86
goto 99
StackMap locals:
StackMap stack:
77: aload 23
ldc "$path"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 80
goto 99
StackMap locals:
StackMap stack:
78: aload 23
ldc "$port"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 84
goto 99
StackMap locals:
StackMap stack:
79: aload 23
ldc "$domain"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 82
goto 99
80: StackMap locals:
StackMap stack:
aload 21
astore 8
81: goto 99
82: StackMap locals:
StackMap stack:
aload 21
astore 9
83: goto 99
84: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "$port="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 21
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
85: goto 99
86: StackMap locals:
StackMap stack:
aload 21
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 11
87: goto 99
end local 22 88: StackMap locals:
StackMap stack:
goto 99
89: StackMap locals:
StackMap stack:
aload 6
ifnull 94
90: aload 0
aload 6
aload 7
aload 9
aload 8
iload 11
aload 10
invokevirtual org.eclipse.jetty.http.CookieCutter.addCookie:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
91: aconst_null
astore 9
92: aconst_null
astore 8
93: aconst_null
astore 10
94: StackMap locals:
StackMap stack:
aload 5
astore 6
95: aload 21
astore 7
96: goto 99
97: StackMap locals:
StackMap stack: java.lang.Exception
astore 22
start local 22 98: getstatic org.eclipse.jetty.http.CookieCutter.LOG:Lorg/eclipse/jetty/util/log/Logger;
aload 22
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/Throwable;)V
end local 22 99: StackMap locals:
StackMap stack:
aconst_null
astore 5
100: iconst_m1
istore 16
101: iconst_0
istore 12
102: goto 141
end local 21 103: StackMap locals:
StackMap stack:
iload 16
ifge 109
104: iload 18
istore 16
105: iconst_1
istore 13
106: aload 2
ifnonnull 141
107: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
108: goto 141
109: StackMap locals:
StackMap stack:
iload 14
ifeq 114
110: aload 2
aload 3
iload 16
iload 18
iinc 18 -1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
111: iconst_1
istore 13
112: iconst_0
istore 14
113: goto 141
114: StackMap locals:
StackMap stack:
iload 16
ifge 116
115: iload 18
istore 16
116: StackMap locals:
StackMap stack:
iload 18
istore 17
117: goto 141
118: StackMap locals:
StackMap stack:
goto 141
119: StackMap locals:
StackMap stack:
iload 20
lookupswitch { // 3
9: 120
32: 120
61: 121
default: 133
}
120: StackMap locals:
StackMap stack:
goto 141
121: StackMap locals:
StackMap stack:
iload 14
ifeq 126
122: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
123: aload 2
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
124: iconst_0
istore 14
125: goto 130
126: StackMap locals:
StackMap stack:
iload 16
iflt 130
127: iload 17
iload 16
if_icmplt 128
aload 3
iload 16
iload 17
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 129
StackMap locals:
StackMap stack:
128: aload 3
iload 16
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
129: astore 5
130: StackMap locals:
StackMap stack:
iconst_m1
istore 16
131: iconst_1
istore 12
132: goto 141
133: StackMap locals:
StackMap stack:
iload 14
ifeq 138
134: aload 2
aload 3
iload 16
iload 18
iinc 18 -1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
135: iconst_1
istore 13
136: iconst_0
istore 14
137: goto 141
138: StackMap locals:
StackMap stack:
iload 16
ifge 140
139: iload 18
istore 16
140: StackMap locals:
StackMap stack:
iload 18
istore 17
end local 20 141: StackMap locals:
StackMap stack:
iinc 18 1
StackMap locals:
StackMap stack:
142: iload 18
iload 19
if_icmple 19
end local 19 end local 18 143: aload 6
ifnull 145
144: aload 0
aload 6
aload 7
aload 9
aload 8
iload 11
aload 10
invokevirtual org.eclipse.jetty.http.CookieCutter.addCookie:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 145: StackMap locals: org.eclipse.jetty.http.CookieCutter java.util.List java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
146: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 147 0 this Lorg/eclipse/jetty/http/CookieCutter;
0 147 1 rawFields Ljava/util/List<Ljava/lang/String;>;
1 147 2 unquoted Ljava/lang/StringBuilder;
3 145 3 hdr Ljava/lang/String;
4 145 5 name Ljava/lang/String;
5 145 6 cookieName Ljava/lang/String;
6 145 7 cookieValue Ljava/lang/String;
7 145 8 cookiePath Ljava/lang/String;
8 145 9 cookieDomain Ljava/lang/String;
9 145 10 cookieComment Ljava/lang/String;
10 145 11 cookieVersion I
11 145 12 invalue Z
12 145 13 inQuoted Z
13 145 14 quoted Z
14 145 15 escaped Z
15 145 16 tokenstart I
16 145 17 tokenend I
17 143 18 i I
18 143 19 length I
22 141 20 c C
62 65 21 value Ljava/lang/String;
69 70 21 value Ljava/lang/String;
71 103 21 value Ljava/lang/String;
75 88 22 lowercaseName Ljava/lang/String;
98 99 22 e Ljava/lang/Exception;
Exception table:
from to target type
71 96 97 Class java.lang.Exception
Signature: (Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
rawFields
protected void reportComplianceViolation(org.eclipse.jetty.http.CookieCompliance$Violation, java.lang.String);
descriptor: (Lorg/eclipse/jetty/http/CookieCompliance$Violation;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jetty.http.CookieCutter._complianceListener:Lorg/eclipse/jetty/http/ComplianceViolation$Listener;
ifnull 2
1: aload 0
getfield org.eclipse.jetty.http.CookieCutter._complianceListener:Lorg/eclipse/jetty/http/ComplianceViolation$Listener;
aload 0
getfield org.eclipse.jetty.http.CookieCutter._complianceMode:Lorg/eclipse/jetty/http/CookieCompliance;
aload 1
aload 2
invokeinterface org.eclipse.jetty.http.ComplianceViolation$Listener.onComplianceViolation:(Lorg/eclipse/jetty/http/ComplianceViolation$Mode;Lorg/eclipse/jetty/http/ComplianceViolation;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jetty/http/CookieCutter;
0 3 1 violation Lorg/eclipse/jetty/http/CookieCompliance$Violation;
0 3 2 reason Ljava/lang/String;
MethodParameters:
Name Flags
violation
reason
protected abstract void addCookie(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
cookieName
cookieValue
cookieDomain
cookiePath
cookieVersion
cookieComment
}
SourceFile: "CookieCutter.java"
InnerClasses:
public abstract Listener = org.eclipse.jetty.http.ComplianceViolation$Listener of org.eclipse.jetty.http.ComplianceViolation
public abstract Mode = org.eclipse.jetty.http.ComplianceViolation$Mode of org.eclipse.jetty.http.ComplianceViolation
final Violation = org.eclipse.jetty.http.CookieCompliance$Violation of org.eclipse.jetty.http.CookieCompliance