public class org.apache.catalina.core.ApplicationPushBuilder implements jakarta.servlet.http.PushBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.core.ApplicationPushBuilder
super_class: java.lang.Object
{
private static final org.apache.tomcat.util.res.StringManager sm;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Set<java.lang.String> DISALLOWED_METHODS;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private final jakarta.servlet.http.HttpServletRequest baseRequest;
descriptor: Ljakarta/servlet/http/HttpServletRequest;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.catalina.connector.Request catalinaRequest;
descriptor: Lorg/apache/catalina/connector/Request;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.coyote.Request coyoteRequest;
descriptor: Lorg/apache/coyote/Request;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String sessionCookieName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String sessionPathParameterName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean addSessionCookie;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean addSessionPathParameter;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, java.util.List<java.lang.String>> ;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
private final java.util.List<jakarta.servlet.http.Cookie> cookies;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljakarta/servlet/http/Cookie;>;
private java.lang.String method;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String path;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String queryString;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String sessionId;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String userName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/apache/catalina/core/ApplicationPushBuilder;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.catalina.core.ApplicationPushBuilder.sm:Lorg/apache/tomcat/util/res/StringManager;
1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.apache.catalina.core.ApplicationPushBuilder.DISALLOWED_METHODS:Ljava/util/Set;
2: getstatic org.apache.catalina.core.ApplicationPushBuilder.DISALLOWED_METHODS:Ljava/util/Set;
ldc "POST"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: getstatic org.apache.catalina.core.ApplicationPushBuilder.DISALLOWED_METHODS:Ljava/util/Set;
ldc "PUT"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: getstatic org.apache.catalina.core.ApplicationPushBuilder.DISALLOWED_METHODS:Ljava/util/Set;
ldc "DELETE"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: getstatic org.apache.catalina.core.ApplicationPushBuilder.DISALLOWED_METHODS:Ljava/util/Set;
ldc "CONNECT"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: getstatic org.apache.catalina.core.ApplicationPushBuilder.DISALLOWED_METHODS:Ljava/util/Set;
ldc "OPTIONS"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: getstatic org.apache.catalina.core.ApplicationPushBuilder.DISALLOWED_METHODS:Ljava/util/Set;
ldc "TRACE"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.catalina.connector.Request, jakarta.servlet.http.HttpServletRequest);
descriptor: (Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletRequest;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.apache.tomcat.util.collections.CaseInsensitiveKeyMap
dup
invokespecial org.apache.tomcat.util.collections.CaseInsensitiveKeyMap.<init>:()V
putfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.catalina.core.ApplicationPushBuilder.cookies:Ljava/util/List;
3: aload 0
ldc "GET"
putfield org.apache.catalina.core.ApplicationPushBuilder.method:Ljava/lang/String;
4: aload 0
aload 2
putfield org.apache.catalina.core.ApplicationPushBuilder.baseRequest:Ljakarta/servlet/http/HttpServletRequest;
5: aload 0
aload 1
putfield org.apache.catalina.core.ApplicationPushBuilder.catalinaRequest:Lorg/apache/catalina/connector/Request;
6: aload 0
aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
putfield org.apache.catalina.core.ApplicationPushBuilder.coyoteRequest:Lorg/apache/coyote/Request;
7: aload 2
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeaderNames:()Ljava/util/Enumeration;
astore 3
start local 3 8: goto 16
9: StackMap locals: org.apache.catalina.core.ApplicationPushBuilder org.apache.catalina.connector.Request jakarta.servlet.http.HttpServletRequest java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 10: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 11: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
aload 4
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 2
aload 4
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeaders:(Ljava/lang/String;)Ljava/util/Enumeration;
astore 6
start local 6 13: goto 15
14: StackMap locals: java.lang.String java.util.List java.util.Enumeration
StackMap stack:
aload 5
aload 6
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 14
end local 6 end local 5 end local 4 16: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 9
17: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "if-match"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "if-none-match"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
19: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "if-modified-since"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
20: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "if-unmodified-since"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
21: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "if-range"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
22: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "range"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
23: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "expect"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
24: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "authorization"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
25: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "referer"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
26: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "cookie"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
27: aload 2
invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURL:()Ljava/lang/StringBuffer;
astore 4
start local 4 28: aload 2
invokeinterface jakarta.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
ifnull 31
29: aload 4
bipush 63
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
30: aload 4
aload 2
invokeinterface jakarta.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
31: StackMap locals: java.lang.StringBuffer
StackMap stack:
aload 0
ldc "referer"
aload 4
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationPushBuilder.addHeader:(Ljava/lang/String;Ljava/lang/String;)Ljakarta/servlet/http/PushBuilder;
pop
32: aload 1
invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
astore 5
start local 5 33: aload 0
aload 5
invokestatic org.apache.catalina.util.SessionConfig.getSessionCookieName:(Lorg/apache/catalina/Context;)Ljava/lang/String;
putfield org.apache.catalina.core.ApplicationPushBuilder.sessionCookieName:Ljava/lang/String;
34: aload 0
aload 5
invokestatic org.apache.catalina.util.SessionConfig.getSessionUriParamName:(Lorg/apache/catalina/Context;)Ljava/lang/String;
putfield org.apache.catalina.core.ApplicationPushBuilder.sessionPathParameterName:Ljava/lang/String;
35: aload 2
iconst_0
invokeinterface jakarta.servlet.http.HttpServletRequest.getSession:(Z)Ljakarta/servlet/http/HttpSession;
astore 6
start local 6 36: aload 6
ifnull 38
37: aload 0
aload 6
invokeinterface jakarta.servlet.http.HttpSession.getId:()Ljava/lang/String;
putfield org.apache.catalina.core.ApplicationPushBuilder.sessionId:Ljava/lang/String;
38: StackMap locals: org.apache.catalina.Context jakarta.servlet.http.HttpSession
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.sessionId:Ljava/lang/String;
ifnonnull 40
39: aload 0
aload 2
invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestedSessionId:()Ljava/lang/String;
putfield org.apache.catalina.core.ApplicationPushBuilder.sessionId:Ljava/lang/String;
40: StackMap locals:
StackMap stack:
aload 2
invokeinterface jakarta.servlet.http.HttpServletRequest.isRequestedSessionIdFromCookie:()Z
ifne 47
aload 2
invokeinterface jakarta.servlet.http.HttpServletRequest.isRequestedSessionIdFromURL:()Z
ifne 47
41: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.sessionId:Ljava/lang/String;
ifnull 47
42: aload 2
invokeinterface jakarta.servlet.http.HttpServletRequest.getServletContext:()Ljakarta/servlet/ServletContext;
invokeinterface jakarta.servlet.ServletContext.getEffectiveSessionTrackingModes:()Ljava/util/Set;
43: astore 7
start local 7 44: aload 0
aload 7
getstatic jakarta.servlet.SessionTrackingMode.COOKIE:Ljakarta/servlet/SessionTrackingMode;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
putfield org.apache.catalina.core.ApplicationPushBuilder.addSessionCookie:Z
45: aload 0
aload 7
getstatic jakarta.servlet.SessionTrackingMode.URL:Ljakarta/servlet/SessionTrackingMode;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
putfield org.apache.catalina.core.ApplicationPushBuilder.addSessionPathParameter:Z
end local 7 46: goto 49
47: StackMap locals:
StackMap stack:
aload 0
aload 2
invokeinterface jakarta.servlet.http.HttpServletRequest.isRequestedSessionIdFromCookie:()Z
putfield org.apache.catalina.core.ApplicationPushBuilder.addSessionCookie:Z
48: aload 0
aload 2
invokeinterface jakarta.servlet.http.HttpServletRequest.isRequestedSessionIdFromURL:()Z
putfield org.apache.catalina.core.ApplicationPushBuilder.addSessionPathParameter:Z
49: StackMap locals:
StackMap stack:
aload 2
invokeinterface jakarta.servlet.http.HttpServletRequest.getCookies:()[Ljakarta/servlet/http/Cookie;
ifnull 51
50: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.cookies:Ljava/util/List;
aload 2
invokeinterface jakarta.servlet.http.HttpServletRequest.getCookies:()[Ljakarta/servlet/http/Cookie;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
51: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.getResponse:()Lorg/apache/catalina/connector/Response;
invokevirtual org.apache.catalina.connector.Response.getCookies:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 57
StackMap locals: org.apache.catalina.core.ApplicationPushBuilder org.apache.catalina.connector.Request jakarta.servlet.http.HttpServletRequest java.util.Enumeration java.lang.StringBuffer org.apache.catalina.Context jakarta.servlet.http.HttpSession top java.util.Iterator
StackMap stack:
52: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jakarta.servlet.http.Cookie
astore 7
start local 7 53: aload 7
invokevirtual jakarta.servlet.http.Cookie.getMaxAge:()I
ifge 56
54: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.cookies:Ljava/util/List;
aload 7
invokedynamic test(Ljakarta/servlet/http/Cookie;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/apache/catalina/core/ApplicationPushBuilder.lambda$0(Ljakarta/servlet/http/Cookie;Ljakarta/servlet/http/Cookie;)Z (6)
(Ljakarta/servlet/http/Cookie;)Z
invokeinterface java.util.List.removeIf:(Ljava/util/function/Predicate;)Z
pop
55: goto 57
56: StackMap locals: org.apache.catalina.core.ApplicationPushBuilder org.apache.catalina.connector.Request jakarta.servlet.http.HttpServletRequest java.util.Enumeration java.lang.StringBuffer org.apache.catalina.Context jakarta.servlet.http.HttpSession jakarta.servlet.http.Cookie java.util.Iterator
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.cookies:Ljava/util/List;
new jakarta.servlet.http.Cookie
dup
aload 7
invokevirtual jakarta.servlet.http.Cookie.getName:()Ljava/lang/String;
aload 7
invokevirtual jakarta.servlet.http.Cookie.getValue:()Ljava/lang/String;
invokespecial jakarta.servlet.http.Cookie.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 57: StackMap locals: org.apache.catalina.core.ApplicationPushBuilder org.apache.catalina.connector.Request jakarta.servlet.http.HttpServletRequest java.util.Enumeration java.lang.StringBuffer org.apache.catalina.Context jakarta.servlet.http.HttpSession top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 52
58: new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
start local 7 59: aload 7
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.cookies:Ljava/util/List;
60: aload 1
invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getCookieProcessor:()Lorg/apache/tomcat/util/http/CookieProcessor;
61: invokestatic org.apache.catalina.core.ApplicationPushBuilder.generateCookieHeader:(Ljava/util/List;Lorg/apache/tomcat/util/http/CookieProcessor;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
62: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "cookie"
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
63: aload 1
invokevirtual org.apache.catalina.connector.Request.getPrincipal:()Ljava/security/Principal;
ifnull 69
64: aload 6
ifnull 67
aload 1
iconst_0
invokevirtual org.apache.catalina.connector.Request.getSessionInternal:(Z)Lorg/apache/catalina/Session;
invokeinterface org.apache.catalina.Session.getPrincipal:()Ljava/security/Principal;
ifnull 67
65: aload 5
invokeinterface org.apache.catalina.Context.getAuthenticator:()Lorg/apache/catalina/Authenticator;
instanceof org.apache.catalina.authenticator.AuthenticatorBase
ifeq 67
66: aload 5
invokeinterface org.apache.catalina.Context.getAuthenticator:()Lorg/apache/catalina/Authenticator;
checkcast org.apache.catalina.authenticator.AuthenticatorBase
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getCache:()Z
ifne 68
67: StackMap locals: org.apache.catalina.core.ApplicationPushBuilder org.apache.catalina.connector.Request jakarta.servlet.http.HttpServletRequest java.util.Enumeration java.lang.StringBuffer org.apache.catalina.Context jakarta.servlet.http.HttpSession java.util.List
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.connector.Request.getPrincipal:()Ljava/security/Principal;
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
putfield org.apache.catalina.core.ApplicationPushBuilder.userName:Ljava/lang/String;
68: StackMap locals:
StackMap stack:
aload 0
ldc "authorization"
ldc "x-push"
invokevirtual org.apache.catalina.core.ApplicationPushBuilder.setHeader:(Ljava/lang/String;Ljava/lang/String;)Ljakarta/servlet/http/PushBuilder;
pop
69: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 70 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
0 70 1 catalinaRequest Lorg/apache/catalina/connector/Request;
0 70 2 request Ljakarta/servlet/http/HttpServletRequest;
8 70 3 headerNames Ljava/util/Enumeration<Ljava/lang/String;>;
10 16 4 headerName Ljava/lang/String;
11 16 5 values Ljava/util/List<Ljava/lang/String;>;
13 16 6 headerValues Ljava/util/Enumeration<Ljava/lang/String;>;
28 70 4 referer Ljava/lang/StringBuffer;
33 70 5 context Lorg/apache/catalina/Context;
36 70 6 session Ljakarta/servlet/http/HttpSession;
44 46 7 sessionTrackingModes Ljava/util/Set<Ljakarta/servlet/SessionTrackingMode;>;
53 57 7 responseCookie Ljakarta/servlet/http/Cookie;
59 70 7 cookieValues Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
catalinaRequest
request
public jakarta.servlet.http.PushBuilder path(java.lang.String);
descriptor: (Ljava/lang/String;)Ljakarta/servlet/http/PushBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
1: aload 0
aload 1
putfield org.apache.catalina.core.ApplicationPushBuilder.path:Ljava/lang/String;
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.baseRequest:Ljakarta/servlet/http/HttpServletRequest;
invokeinterface jakarta.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
astore 2
start local 2 4: aload 2
invokevirtual java.lang.String.length:()I
aload 1
invokevirtual java.lang.String.length:()I
iadd
iconst_1
iadd
istore 3
start local 3 5: new java.lang.StringBuilder
dup
iload 3
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 4
start local 4 6: aload 4
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 4
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: aload 4
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 0
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.apache.catalina.core.ApplicationPushBuilder.path:Ljava/lang/String;
end local 4 end local 3 end local 2 10: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
0 11 1 path Ljava/lang/String;
4 10 2 contextPath Ljava/lang/String;
5 10 3 len I
6 10 4 sb Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
path
public java.lang.String getPath();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.path:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
public jakarta.servlet.http.PushBuilder method(java.lang.String);
descriptor: (Ljava/lang/String;)Ljakarta/servlet/http/PushBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 2
start local 2 1: getstatic org.apache.catalina.core.ApplicationPushBuilder.DISALLOWED_METHODS:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 2
aload 2
invokevirtual java.lang.String.length:()I
ifne 5
2: StackMap locals: java.lang.String
StackMap stack:
new java.lang.IllegalArgumentException
dup
3: getstatic org.apache.catalina.core.ApplicationPushBuilder.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationPushBuilder.methodInvalid"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.String.toCharArray:()[C
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 12
StackMap locals: org.apache.catalina.core.ApplicationPushBuilder java.lang.String java.lang.String top int int char[]
StackMap stack:
6: aload 6
iload 4
caload
istore 3
start local 3 7: iload 3
invokestatic org.apache.tomcat.util.http.parser.HttpParser.isToken:(I)Z
ifne 11
8: new java.lang.IllegalArgumentException
dup
9: getstatic org.apache.catalina.core.ApplicationPushBuilder.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationPushBuilder.methodNotToken"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
10: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 5
if_icmplt 6
13: aload 0
aload 1
putfield org.apache.catalina.core.ApplicationPushBuilder.method:Ljava/lang/String;
14: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
0 15 1 method Ljava/lang/String;
1 15 2 upperMethod Ljava/lang/String;
7 11 3 c C
MethodParameters:
Name Flags
method
public java.lang.String getMethod();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.method:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
public jakarta.servlet.http.PushBuilder queryString(java.lang.String);
descriptor: (Ljava/lang/String;)Ljakarta/servlet/http/PushBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.core.ApplicationPushBuilder.queryString:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
0 2 1 queryString Ljava/lang/String;
MethodParameters:
Name Flags
queryString
public java.lang.String getQueryString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.queryString:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
public jakarta.servlet.http.PushBuilder sessionId(java.lang.String);
descriptor: (Ljava/lang/String;)Ljakarta/servlet/http/PushBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.core.ApplicationPushBuilder.sessionId:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
0 2 1 sessionId Ljava/lang/String;
MethodParameters:
Name Flags
sessionId
public java.lang.String getSessionId();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.sessionId:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
public jakarta.servlet.http.PushBuilder (java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljakarta/servlet/http/PushBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 1: aload 3
ifnonnull 4
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
3: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.util.List
StackMap stack:
aload 3
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
0 6 1 name Ljava/lang/String;
0 6 2 value Ljava/lang/String;
1 6 3 values Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
name
value
public jakarta.servlet.http.PushBuilder (java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljakarta/servlet/http/PushBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 1: aload 3
ifnonnull 5
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
3: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: goto 6
5: StackMap locals: java.util.List
StackMap stack:
aload 3
invokeinterface java.util.List.clear:()V
6: StackMap locals:
StackMap stack:
aload 3
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
0 8 1 name Ljava/lang/String;
0 8 2 value Ljava/lang/String;
1 8 3 values Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
name
value
public jakarta.servlet.http.PushBuilder (java.lang.String);
descriptor: (Ljava/lang/String;)Ljakarta/servlet/http/PushBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public java.util.Set<java.lang.String> getHeaderNames();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
public java.lang.String (java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.util.List
StackMap stack:
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
0 4 1 name Ljava/lang/String;
1 4 2 values Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
name
public void push();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.path:Ljava/lang/String;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
getstatic org.apache.catalina.core.ApplicationPushBuilder.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "pushBuilder.noPath"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new org.apache.coyote.Request
dup
invokespecial org.apache.coyote.Request.<init>:()V
astore 1
start local 1 3: aload 1
invokevirtual org.apache.coyote.Request.method:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.method:Ljava/lang/String;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
4: aload 1
invokevirtual org.apache.coyote.Request.serverName:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.baseRequest:Ljakarta/servlet/http/HttpServletRequest;
invokeinterface jakarta.servlet.http.HttpServletRequest.getServerName:()Ljava/lang/String;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
5: aload 1
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.baseRequest:Ljakarta/servlet/http/HttpServletRequest;
invokeinterface jakarta.servlet.http.HttpServletRequest.getServerPort:()I
invokevirtual org.apache.coyote.Request.setServerPort:(I)V
6: aload 1
invokevirtual org.apache.coyote.Request.scheme:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.baseRequest:Ljakarta/servlet/http/HttpServletRequest;
invokeinterface jakarta.servlet.http.HttpServletRequest.getScheme:()Ljava/lang/String;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
7: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 13
StackMap locals: org.apache.catalina.core.ApplicationPushBuilder org.apache.coyote.Request top java.util.Iterator
StackMap stack:
8: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 9: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: org.apache.catalina.core.ApplicationPushBuilder org.apache.coyote.Request java.util.Map$Entry java.util.Iterator top java.util.Iterator
StackMap stack:
10: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 11: aload 1
invokevirtual org.apache.coyote.Request.getMimeHeaders:()Lorg/apache/tomcat/util/http/MimeHeaders;
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual org.apache.tomcat.util.http.MimeHeaders.addValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
aload 4
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
end local 4 12: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 2 13: StackMap locals: org.apache.catalina.core.ApplicationPushBuilder org.apache.coyote.Request top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
14: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.path:Ljava/lang/String;
bipush 63
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 15: aconst_null
astore 4
start local 4 16: iload 2
iconst_m1
if_icmple 21
17: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.path:Ljava/lang/String;
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 18: iload 2
iconst_1
iadd
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.path:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpge 22
19: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.path:Ljava/lang/String;
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
20: goto 22
end local 3 21: StackMap locals: org.apache.catalina.core.ApplicationPushBuilder org.apache.coyote.Request int top java.lang.String
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.path:Ljava/lang/String;
astore 3
start local 3 22: StackMap locals: org.apache.catalina.core.ApplicationPushBuilder org.apache.coyote.Request int java.lang.String java.lang.String
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.sessionId:Ljava/lang/String;
ifnull 34
23: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.addSessionPathParameter:Z
ifeq 26
24: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.sessionPathParameterName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.sessionId:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
25: aload 1
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.sessionPathParameterName:Ljava/lang/String;
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.sessionId:Ljava/lang/String;
invokevirtual org.apache.coyote.Request.addPathParameter:(Ljava/lang/String;Ljava/lang/String;)V
26: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.addSessionCookie:Z
ifeq 34
27: new java.lang.StringBuilder
dup
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.sessionCookieName:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.sessionId:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 28: aload 1
invokevirtual org.apache.coyote.Request.getMimeHeaders:()Lorg/apache/tomcat/util/http/MimeHeaders;
ldc "cookie"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.getValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
astore 6
start local 6 29: aload 6
ifnonnull 33
30: aload 1
invokevirtual org.apache.coyote.Request.getMimeHeaders:()Lorg/apache/tomcat/util/http/MimeHeaders;
ldc "cookie"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.addValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
astore 6
31: aload 6
aload 5
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
32: goto 34
33: StackMap locals: java.lang.String org.apache.tomcat.util.buf.MessageBytes
StackMap stack:
aload 6
new java.lang.StringBuilder
dup
aload 6
invokevirtual org.apache.tomcat.util.buf.MessageBytes.getString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ";"
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.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
end local 6 end local 5 34: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.coyote.Request.requestURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 3
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
35: aload 1
invokevirtual org.apache.coyote.Request.decodedURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 3
36: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.catalinaRequest:Lorg/apache/catalina/connector/Request;
invokevirtual org.apache.catalina.connector.Request.getConnector:()Lorg/apache/catalina/connector/Connector;
invokevirtual org.apache.catalina.connector.Connector.getURICharset:()Ljava/nio/charset/Charset;
37: invokestatic org.apache.catalina.core.ApplicationPushBuilder.decode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
38: aload 4
ifnonnull 41
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.queryString:Ljava/lang/String;
ifnull 41
39: aload 1
invokevirtual org.apache.coyote.Request.queryString:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.queryString:Ljava/lang/String;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
40: goto 46
StackMap locals:
StackMap stack:
41: aload 4
ifnull 44
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.queryString:Ljava/lang/String;
ifnonnull 44
42: aload 1
invokevirtual org.apache.coyote.Request.queryString:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 4
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
43: goto 46
StackMap locals:
StackMap stack:
44: aload 4
ifnull 46
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.queryString:Ljava/lang/String;
ifnull 46
45: aload 1
invokevirtual org.apache.coyote.Request.queryString:()Lorg/apache/tomcat/util/buf/MessageBytes;
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "&"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.queryString:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
46: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.userName:Ljava/lang/String;
ifnull 49
47: aload 1
invokevirtual org.apache.coyote.Request.getRemoteUser:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.userName:Ljava/lang/String;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
48: aload 1
iconst_1
invokevirtual org.apache.coyote.Request.setRemoteUserNeedsAuthorization:(Z)V
49: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.coyoteRequest:Lorg/apache/coyote/Request;
getstatic org.apache.coyote.ActionCode.PUSH_REQUEST:Lorg/apache/coyote/ActionCode;
aload 1
invokevirtual org.apache.coyote.Request.action:(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
50: aload 0
aconst_null
putfield org.apache.catalina.core.ApplicationPushBuilder.path:Ljava/lang/String;
51: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "if-none-match"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
52: aload 0
getfield org.apache.catalina.core.ApplicationPushBuilder.headers:Ljava/util/Map;
ldc "if-modified-since"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
53: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lorg/apache/catalina/core/ApplicationPushBuilder;
3 54 1 pushTarget Lorg/apache/coyote/Request;
9 13 2 header Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
11 12 4 value Ljava/lang/String;
15 54 2 queryIndex I
18 21 3 pushPath Ljava/lang/String;
22 54 3 pushPath Ljava/lang/String;
16 54 4 pushQueryString Ljava/lang/String;
28 34 5 sessionCookieHeader Ljava/lang/String;
29 34 6 mb Lorg/apache/tomcat/util/buf/MessageBytes;
static java.lang.String decode(java.lang.String, java.nio.charset.Charset);
descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
bipush 37
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iload 2
iconst_m1
if_icmpne 4
3: aload 0
areturn
4: StackMap locals: int int
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 4
start local 4 5: goto 13
6: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 4
aload 0
iload 3
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: iload 2
iconst_3
iadd
istore 3
8: goto 10
9: StackMap locals:
StackMap stack:
iinc 3 3
10: StackMap locals:
StackMap stack:
iload 3
aload 0
invokevirtual java.lang.String.length:()I
if_icmpge 11
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 37
if_icmpeq 9
11: StackMap locals:
StackMap stack:
aload 4
aload 0
iload 2
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aload 1
invokestatic org.apache.catalina.core.ApplicationPushBuilder.decodePercentSequence:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 0
bipush 37
iload 3
invokevirtual java.lang.String.indexOf:(II)I
istore 2
13: StackMap locals:
StackMap stack:
iload 2
iconst_m1
if_icmpne 6
14: aload 4
aload 0
iload 3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 input Ljava/lang/String;
0 16 1 charset Ljava/nio/charset/Charset;
1 16 2 start I
2 16 3 end I
5 16 4 result Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
input
charset
private static java.lang.String decodePercentSequence(java.lang.String, java.nio.charset.Charset);
descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.String.length:()I
iconst_3
idiv
newarray 8
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 7
3: StackMap locals: byte[] int
StackMap stack:
aload 2
iload 3
aload 0
iconst_1
iconst_3
iload 3
imul
iadd
invokevirtual java.lang.String.charAt:(I)C
invokestatic org.apache.tomcat.util.buf.HexUtils.getDec:(I)I
iconst_4
ishl
4: aload 0
iconst_2
iconst_3
iload 3
imul
iadd
invokevirtual java.lang.String.charAt:(I)C
invokestatic org.apache.tomcat.util.buf.HexUtils.getDec:(I)I
iadd
i2b
5: bastore
6: iinc 3 3
StackMap locals:
StackMap stack:
7: iload 3
aload 2
arraylength
if_icmplt 3
end local 3 8: new java.lang.String
dup
aload 2
aload 1
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 sequence Ljava/lang/String;
0 9 1 charset Ljava/nio/charset/Charset;
1 9 2 bytes [B
2 8 3 i I
MethodParameters:
Name Flags
sequence
charset
private static java.lang.String generateCookieHeader(java.util.List<jakarta.servlet.http.Cookie>, org.apache.tomcat.util.http.CookieProcessor);
descriptor: (Ljava/util/List;Lorg/apache/tomcat/util/http/CookieProcessor;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: iconst_1
istore 3
start local 3 2: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: java.util.List org.apache.tomcat.util.http.CookieProcessor java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jakarta.servlet.http.Cookie
astore 4
start local 4 4: iload 3
ifeq 7
5: iconst_0
istore 3
6: goto 8
7: StackMap locals: java.util.List org.apache.tomcat.util.http.CookieProcessor java.lang.StringBuilder int jakarta.servlet.http.Cookie java.util.Iterator
StackMap stack:
aload 2
bipush 59
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 4
aconst_null
invokeinterface org.apache.tomcat.util.http.CookieProcessor.generateHeader:(Ljakarta/servlet/http/Cookie;Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 9: StackMap locals: java.util.List org.apache.tomcat.util.http.CookieProcessor java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 cookies Ljava/util/List<Ljakarta/servlet/http/Cookie;>;
0 11 1 cookieProcessor Lorg/apache/tomcat/util/http/CookieProcessor;
1 11 2 result Ljava/lang/StringBuilder;
2 11 3 first Z
4 9 4 cookie Ljakarta/servlet/http/Cookie;
Signature: (Ljava/util/List<Ljakarta/servlet/http/Cookie;>;Lorg/apache/tomcat/util/http/CookieProcessor;)Ljava/lang/String;
MethodParameters:
Name Flags
cookies
cookieProcessor
private static boolean lambda$0(jakarta.servlet.http.Cookie, jakarta.servlet.http.Cookie);
descriptor: (Ljakarta/servlet/http/Cookie;Ljakarta/servlet/http/Cookie;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual jakarta.servlet.http.Cookie.getName:()Ljava/lang/String;
aload 0
invokevirtual jakarta.servlet.http.Cookie.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 cookie Ljakarta/servlet/http/Cookie;
}
SourceFile: "ApplicationPushBuilder.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map