public final class org.apache.catalina.servlets.CGIServlet extends jakarta.servlet.http.HttpServlet
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.catalina.servlets.CGIServlet
super_class: jakarta.servlet.http.HttpServlet
{
private static final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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 long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final java.util.Set<java.lang.String> DEFAULT_SUPER_METHODS;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private static final java.util.regex.Pattern DEFAULT_CMD_LINE_ARGUMENTS_DECODED_PATTERN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String ALLOW_ANY_PATTERN;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ".*"
private java.lang.String cgiPathPrefix;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String cgiExecutable;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.lang.String> cgiExecutableArgs;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private java.lang.String parameterEncoding;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<java.lang.String> cgiMethods;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljava/lang/String;>;
private boolean cgiMethodsAll;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long stderrTimeout;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.util.regex.Pattern ;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.Object expandFileLock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.Hashtable<java.lang.String, java.lang.String> shellEnv;
descriptor: Ljava/util/Hashtable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
private boolean enableCmdLineArguments;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.regex.Pattern cmdLineArgumentsEncodedPattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0002) ACC_PRIVATE
private java.util.regex.Pattern cmdLineArgumentsDecodedPattern;
descriptor: Ljava/util/regex/Pattern;
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/servlets/CGIServlet;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
1: ldc Lorg/apache/catalina/servlets/CGIServlet;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.catalina.servlets.CGIServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.apache.catalina.servlets.CGIServlet.DEFAULT_SUPER_METHODS:Ljava/util/Set;
3: getstatic org.apache.catalina.servlets.CGIServlet.DEFAULT_SUPER_METHODS:Ljava/util/Set;
ldc "HEAD"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: getstatic org.apache.catalina.servlets.CGIServlet.DEFAULT_SUPER_METHODS:Ljava/util/Set;
ldc "OPTIONS"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: getstatic org.apache.catalina.servlets.CGIServlet.DEFAULT_SUPER_METHODS:Ljava/util/Set;
ldc "TRACE"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: getstatic org.apache.tomcat.util.compat.JrePlatform.IS_WINDOWS:Z
ifeq 9
7: ldc "[a-zA-Z0-9\\Q-_.\\/:\\E]+"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.apache.catalina.servlets.CGIServlet.DEFAULT_CMD_LINE_ARGUMENTS_DECODED_PATTERN:Ljava/util/regex/Pattern;
8: goto 10
9: StackMap locals:
StackMap stack:
aconst_null
putstatic org.apache.catalina.servlets.CGIServlet.DEFAULT_CMD_LINE_ARGUMENTS_DECODED_PATTERN:Ljava/util/regex/Pattern;
10: StackMap locals:
StackMap stack:
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.apache.catalina.servlets.CGIServlet.expandFileLock:Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial jakarta.servlet.http.HttpServlet.<init>:()V
1: aload 0
aconst_null
putfield org.apache.catalina.servlets.CGIServlet.cgiPathPrefix:Ljava/lang/String;
2: aload 0
ldc "perl"
putfield org.apache.catalina.servlets.CGIServlet.cgiExecutable:Ljava/lang/String;
3: aload 0
aconst_null
putfield org.apache.catalina.servlets.CGIServlet.cgiExecutableArgs:Ljava/util/List;
4: aload 0
5: ldc "file.encoding"
ldc "UTF-8"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
putfield org.apache.catalina.servlets.CGIServlet.parameterEncoding:Ljava/lang/String;
6: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.apache.catalina.servlets.CGIServlet.cgiMethods:Ljava/util/Set;
7: aload 0
iconst_0
putfield org.apache.catalina.servlets.CGIServlet.cgiMethodsAll:Z
8: aload 0
ldc 2000
putfield org.apache.catalina.servlets.CGIServlet.stderrTimeout:J
9: aload 0
10: ldc "ACCEPT[-0-9A-Z]*|CACHE-CONTROL|COOKIE|HOST|IF-[-0-9A-Z]*|REFERER|USER-AGENT"
11: invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putfield org.apache.catalina.servlets.CGIServlet.envHttpHeadersPattern:Ljava/util/regex/Pattern;
12: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.apache.catalina.servlets.CGIServlet.shellEnv:Ljava/util/Hashtable;
13: aload 0
iconst_0
putfield org.apache.catalina.servlets.CGIServlet.enableCmdLineArguments:Z
14: aload 0
15: ldc "[a-zA-Z0-9\\Q%;/?:@&,$-_.!~*'()\\E]+"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putfield org.apache.catalina.servlets.CGIServlet.cmdLineArgumentsEncodedPattern:Ljava/util/regex/Pattern;
16: aload 0
getstatic org.apache.catalina.servlets.CGIServlet.DEFAULT_CMD_LINE_ARGUMENTS_DECODED_PATTERN:Ljava/util/regex/Pattern;
putfield org.apache.catalina.servlets.CGIServlet.cmdLineArgumentsDecodedPattern:Ljava/util/regex/Pattern;
17: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/catalina/servlets/CGIServlet;
public void init(jakarta.servlet.ServletConfig);
descriptor: (Ljakarta/servlet/ServletConfig;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial jakarta.servlet.http.HttpServlet.init:(Ljakarta/servlet/ServletConfig;)V
1: aload 0
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "cgiPathPrefix"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
putfield org.apache.catalina.servlets.CGIServlet.cgiPathPrefix:Ljava/lang/String;
2: aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "passShellEnvironment"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
3: istore 2
start local 2 4: iload 2
ifeq 6
5: aload 0
getfield org.apache.catalina.servlets.CGIServlet.shellEnv:Ljava/util/Hashtable;
invokestatic java.lang.System.getenv:()Ljava/util/Map;
invokevirtual java.util.Hashtable.putAll:(Ljava/util/Map;)V
6: StackMap locals: int
StackMap stack:
aload 1
invokeinterface jakarta.servlet.ServletConfig.getInitParameterNames:()Ljava/util/Enumeration;
astore 3
start local 3 7: goto 13
8: StackMap locals: java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 9: aload 4
ldc "environment-variable-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 13
10: aload 4
invokevirtual java.lang.String.length:()I
bipush 21
if_icmpne 12
11: new jakarta.servlet.ServletException
dup
getstatic org.apache.catalina.servlets.CGIServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "cgiServlet.emptyEnvVarName"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.CGIServlet.shellEnv:Ljava/util/Hashtable;
aload 4
bipush 21
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
aload 1
aload 4
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 13: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 8
14: aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "executable"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
ifnull 16
15: aload 0
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "executable"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
putfield org.apache.catalina.servlets.CGIServlet.cgiExecutable:Ljava/lang/String;
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "executable-arg-1"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
ifnull 27
17: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 18: iconst_1
istore 5
start local 5 19: StackMap locals: java.util.List int
StackMap stack:
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
20: new java.lang.StringBuilder
dup
ldc "executable-arg-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 22: aload 6
ifnonnull 24
23: goto 26
24: StackMap locals: java.lang.String
StackMap stack:
aload 4
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 25: iinc 5 1
goto 19
end local 5 26: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield org.apache.catalina.servlets.CGIServlet.cgiExecutableArgs:Ljava/util/List;
end local 4 27: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "parameterEncoding"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
ifnull 29
28: aload 0
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "parameterEncoding"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
putfield org.apache.catalina.servlets.CGIServlet.parameterEncoding:Ljava/lang/String;
29: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "stderrTimeout"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
ifnull 33
30: aload 0
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
31: ldc "stderrTimeout"
32: invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
putfield org.apache.catalina.servlets.CGIServlet.stderrTimeout:J
33: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "envHttpHeaders"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
ifnull 37
34: aload 0
35: aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "envHttpHeaders"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
36: putfield org.apache.catalina.servlets.CGIServlet.envHttpHeadersPattern:Ljava/util/regex/Pattern;
37: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "enableCmdLineArguments"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
ifnull 41
38: aload 0
39: aload 1
ldc "enableCmdLineArguments"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
40: putfield org.apache.catalina.servlets.CGIServlet.enableCmdLineArguments:Z
41: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "cgiMethods"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
ifnull 55
42: aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "cgiMethods"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 43: aload 4
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 4
44: ldc "*"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 47
45: aload 0
iconst_1
putfield org.apache.catalina.servlets.CGIServlet.cgiMethodsAll:Z
46: goto 57
47: StackMap locals: java.lang.String
StackMap stack:
aload 4
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 48: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 53
StackMap locals: org.apache.catalina.servlets.CGIServlet jakarta.servlet.ServletConfig int java.util.Enumeration java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
49: aload 9
iload 7
aaload
astore 6
start local 6 50: aload 6
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 10
start local 10 51: aload 0
getfield org.apache.catalina.servlets.CGIServlet.cgiMethods:Ljava/util/Set;
aload 10
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 6 52: iinc 7 1
StackMap locals:
StackMap stack:
53: iload 7
iload 8
if_icmplt 49
end local 5 end local 4 54: goto 57
55: StackMap locals: org.apache.catalina.servlets.CGIServlet jakarta.servlet.ServletConfig int java.util.Enumeration
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.CGIServlet.cgiMethods:Ljava/util/Set;
ldc "GET"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
56: aload 0
getfield org.apache.catalina.servlets.CGIServlet.cgiMethods:Ljava/util/Set;
ldc "POST"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
57: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "cmdLineArgumentsEncoded"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
ifnull 61
58: aload 0
59: aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "cmdLineArgumentsEncoded"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
60: putfield org.apache.catalina.servlets.CGIServlet.cmdLineArgumentsEncodedPattern:Ljava/util/regex/Pattern;
61: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "cmdLineArgumentsDecoded"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 62: ldc ".*"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 65
63: aload 0
aconst_null
putfield org.apache.catalina.servlets.CGIServlet.cmdLineArgumentsDecodedPattern:Ljava/util/regex/Pattern;
64: goto 67
StackMap locals: java.lang.String
StackMap stack:
65: aload 4
ifnull 67
66: aload 0
aload 4
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putfield org.apache.catalina.servlets.CGIServlet.cmdLineArgumentsDecodedPattern:Ljava/util/regex/Pattern;
67: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lorg/apache/catalina/servlets/CGIServlet;
0 68 1 config Ljakarta/servlet/ServletConfig;
4 68 2 passShellEnvironment Z
7 68 3 e Ljava/util/Enumeration<Ljava/lang/String;>;
9 13 4 initParamName Ljava/lang/String;
18 27 4 args Ljava/util/List<Ljava/lang/String;>;
19 26 5 i I
22 25 6 arg Ljava/lang/String;
43 54 4 paramValue Ljava/lang/String;
48 54 5 methods [Ljava/lang/String;
50 52 6 method Ljava/lang/String;
51 52 10 trimmedMethod Ljava/lang/String;
62 68 4 value Ljava/lang/String;
Exceptions:
throws jakarta.servlet.ServletException
MethodParameters:
Name Flags
config
private void printServletEnvironment(jakarta.servlet.http.HttpServletRequest);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
ldc "ServletRequest Properties"
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
1: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getAttributeNames:()Ljava/util/Enumeration;
astore 2
start local 2 2: goto 5
3: StackMap locals: java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 4: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Request Attribute: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": [ "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
aload 3
invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
end local 3 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 3
6: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Character Encoding: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getCharacterEncoding:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
7: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Content Length: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getContentLengthLong:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
8: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Content Type: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getContentType:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
9: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getLocales:()Ljava/util/Enumeration;
astore 3
start local 3 10: goto 13
11: StackMap locals: java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.util.Locale
astore 4
start local 4 12: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Locale: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
end local 4 13: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 11
14: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getParameterNames:()Ljava/util/Enumeration;
astore 4
start local 4 15: goto 22
16: StackMap locals: java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 17: aload 1
aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getParameterValues:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 21
StackMap locals: org.apache.catalina.servlets.CGIServlet jakarta.servlet.http.HttpServletRequest java.util.Enumeration java.util.Enumeration java.util.Enumeration java.lang.String top int int java.lang.String[]
StackMap stack:
18: aload 9
iload 7
aaload
astore 6
start local 6 19: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Request Parameter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
end local 6 20: iinc 7 1
StackMap locals:
StackMap stack:
21: iload 7
iload 8
if_icmplt 18
end local 5 22: StackMap locals: org.apache.catalina.servlets.CGIServlet jakarta.servlet.http.HttpServletRequest java.util.Enumeration java.util.Enumeration java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 16
23: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Protocol: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getProtocol:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
24: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Remote Address: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getRemoteAddr:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
25: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Remote Host: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getRemoteHost:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
26: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Scheme: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getScheme:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
27: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Secure: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.isSecure:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
28: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Server Name: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getServerName:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
29: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Server Port: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getServerPort:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
30: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
ldc "HttpServletRequest Properties"
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
31: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Auth Type: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getAuthType:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
32: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Context Path: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getContextPath:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
33: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getCookies:()[Ljakarta/servlet/http/Cookie;
astore 5
start local 5 34: aload 5
ifnull 40
35: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 39
StackMap locals: org.apache.catalina.servlets.CGIServlet jakarta.servlet.http.HttpServletRequest java.util.Enumeration java.util.Enumeration java.util.Enumeration jakarta.servlet.http.Cookie[] top int int jakarta.servlet.http.Cookie[]
StackMap stack:
36: aload 9
iload 7
aaload
astore 6
start local 6 37: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Cookie: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual jakarta.servlet.http.Cookie.getName:()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 6
invokevirtual jakarta.servlet.http.Cookie.getValue:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
end local 6 38: iinc 7 1
StackMap locals:
StackMap stack:
39: iload 7
iload 8
if_icmplt 36
40: StackMap locals: org.apache.catalina.servlets.CGIServlet jakarta.servlet.http.HttpServletRequest java.util.Enumeration java.util.Enumeration java.util.Enumeration jakarta.servlet.http.Cookie[]
StackMap stack:
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeaderNames:()Ljava/util/Enumeration;
astore 6
start local 6 41: goto 44
42: StackMap locals: java.util.Enumeration
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 43: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "HTTP Header: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
aload 7
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
end local 7 44: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 42
45: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Method: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getMethod:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
46: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Path Info: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getPathInfo:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
47: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Path Translated: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getPathTranslated:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
48: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Query String: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getQueryString:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
49: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Remote User: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getRemoteUser:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
50: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Requested Session ID: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestedSessionId:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
51: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Requested Session ID From Cookie: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
52: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.isRequestedSessionIdFromCookie:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
53: invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
54: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Requested Session ID From URL: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.isRequestedSessionIdFromURL:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
55: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Requested Session ID Valid: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.isRequestedSessionIdValid:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
56: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Request URI: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
57: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Servlet Path: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getServletPath:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
58: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "User Principal: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getUserPrincipal:()Ljava/security/Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
59: aload 1
iconst_0
invokeinterface jakarta.servlet.http.HttpServletRequest.getSession:(Z)Ljakarta/servlet/http/HttpSession;
astore 7
start local 7 60: aload 7
ifnull 71
61: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
ldc "HttpSession Properties"
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
62: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "ID: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokeinterface jakarta.servlet.http.HttpSession.getId:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
63: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Creation Time: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.util.Date
dup
aload 7
invokeinterface jakarta.servlet.http.HttpSession.getCreationTime:()J
invokespecial java.util.Date.<init>:(J)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
64: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Last Accessed Time: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.util.Date
dup
aload 7
invokeinterface jakarta.servlet.http.HttpSession.getLastAccessedTime:()J
invokespecial java.util.Date.<init>:(J)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
65: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Max Inactive Interval: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokeinterface jakarta.servlet.http.HttpSession.getMaxInactiveInterval:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
66: aload 7
invokeinterface jakarta.servlet.http.HttpSession.getAttributeNames:()Ljava/util/Enumeration;
astore 2
67: goto 70
68: StackMap locals: jakarta.servlet.http.HttpSession
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 69: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Session Attribute: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
aload 8
invokeinterface jakarta.servlet.http.HttpSession.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
end local 8 70: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 68
71: StackMap locals:
StackMap stack:
getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
ldc "ServletConfig Properties"
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
72: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Servlet Name: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
invokeinterface jakarta.servlet.ServletConfig.getServletName:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
73: aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
invokeinterface jakarta.servlet.ServletConfig.getInitParameterNames:()Ljava/util/Enumeration;
astore 4
74: goto 78
75: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 76: aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
aload 8
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 77: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Servlet Init Param: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
end local 9 end local 8 78: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 75
79: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
ldc "ServletContext Properties"
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
80: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Major Version: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletContext:()Ljakarta/servlet/ServletContext;
invokeinterface jakarta.servlet.ServletContext.getMajorVersion:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
81: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Minor Version: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletContext:()Ljakarta/servlet/ServletContext;
invokeinterface jakarta.servlet.ServletContext.getMinorVersion:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
82: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Real Path for '/': ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletContext:()Ljakarta/servlet/ServletContext;
ldc "/"
invokeinterface jakarta.servlet.ServletContext.getRealPath:(Ljava/lang/String;)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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
83: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Server Info: ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletContext:()Ljakarta/servlet/ServletContext;
invokeinterface jakarta.servlet.ServletContext.getServerInfo:()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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
84: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
ldc "ServletContext Initialization Parameters"
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
85: aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletContext:()Ljakarta/servlet/ServletContext;
invokeinterface jakarta.servlet.ServletContext.getInitParameterNames:()Ljava/util/Enumeration;
astore 4
86: goto 90
87: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 88: aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletContext:()Ljakarta/servlet/ServletContext;
aload 8
invokeinterface jakarta.servlet.ServletContext.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 89: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Servlet Context Init Param: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
end local 9 end local 8 90: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 87
91: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
ldc "ServletContext Attributes"
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
92: aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletContext:()Ljakarta/servlet/ServletContext;
invokeinterface jakarta.servlet.ServletContext.getAttributeNames:()Ljava/util/Enumeration;
astore 2
93: goto 98
94: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 95: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Servlet Context Attribute: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
96: ldc ": ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletContext:()Ljakarta/servlet/ServletContext;
aload 8
invokeinterface jakarta.servlet.ServletContext.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
97: invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
end local 8 98: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 94
99: 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 100 0 this Lorg/apache/catalina/servlets/CGIServlet;
0 100 1 req Ljakarta/servlet/http/HttpServletRequest;
2 100 2 attrs Ljava/util/Enumeration<Ljava/lang/String;>;
4 5 3 attr Ljava/lang/String;
10 100 3 locales Ljava/util/Enumeration<Ljava/util/Locale;>;
12 13 4 locale Ljava/util/Locale;
15 100 4 params Ljava/util/Enumeration<Ljava/lang/String;>;
17 22 5 param Ljava/lang/String;
19 20 6 value Ljava/lang/String;
34 100 5 cookies [Ljakarta/servlet/http/Cookie;
37 38 6 cookie Ljakarta/servlet/http/Cookie;
41 100 6 headers Ljava/util/Enumeration<Ljava/lang/String;>;
43 44 7 header Ljava/lang/String;
60 100 7 session Ljakarta/servlet/http/HttpSession;
69 70 8 attr Ljava/lang/String;
76 78 8 param Ljava/lang/String;
77 78 9 value Ljava/lang/String;
88 90 8 param Ljava/lang/String;
89 90 9 value Ljava/lang/String;
95 98 8 attr Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
req
protected void service(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getMethod:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield org.apache.catalina.servlets.CGIServlet.cgiMethodsAll:Z
ifne 2
aload 0
getfield org.apache.catalina.servlets.CGIServlet.cgiMethods:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 4
2: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.CGIServlet.doGet:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
3: goto 8
StackMap locals:
StackMap stack:
4: getstatic org.apache.catalina.servlets.CGIServlet.DEFAULT_SUPER_METHODS:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 7
5: aload 0
aload 1
aload 2
invokespecial jakarta.servlet.http.HttpServlet.service:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 2
sipush 405
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/catalina/servlets/CGIServlet;
0 9 1 req Ljakarta/servlet/http/HttpServletRequest;
0 9 2 res Ljakarta/servlet/http/HttpServletResponse;
1 9 3 method Ljava/lang/String;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
res
protected void doGet(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new org.apache.catalina.servlets.CGIServlet$CGIEnvironment
dup
aload 0
aload 1
aload 0
invokevirtual org.apache.catalina.servlets.CGIServlet.getServletContext:()Ljakarta/servlet/ServletContext;
invokespecial org.apache.catalina.servlets.CGIServlet$CGIEnvironment.<init>:(Lorg/apache/catalina/servlets/CGIServlet;Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/ServletContext;)V
astore 3
start local 3 1: aload 3
invokevirtual org.apache.catalina.servlets.CGIServlet$CGIEnvironment.isValid:()Z
ifeq 12
2: new org.apache.catalina.servlets.CGIServlet$CGIRunner
dup
aload 0
aload 3
invokevirtual org.apache.catalina.servlets.CGIServlet$CGIEnvironment.getCommand:()Ljava/lang/String;
3: aload 3
invokevirtual org.apache.catalina.servlets.CGIServlet$CGIEnvironment.getEnvironment:()Ljava/util/Hashtable;
4: aload 3
invokevirtual org.apache.catalina.servlets.CGIServlet$CGIEnvironment.getWorkingDirectory:()Ljava/io/File;
5: aload 3
invokevirtual org.apache.catalina.servlets.CGIServlet$CGIEnvironment.getParameters:()Ljava/util/ArrayList;
6: invokespecial org.apache.catalina.servlets.CGIServlet$CGIRunner.<init>:(Lorg/apache/catalina/servlets/CGIServlet;Ljava/lang/String;Ljava/util/Hashtable;Ljava/io/File;Ljava/util/ArrayList;)V
astore 4
start local 4 7: ldc "POST"
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getMethod:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: aload 4
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getInputStream:()Ljakarta/servlet/ServletInputStream;
invokevirtual org.apache.catalina.servlets.CGIServlet$CGIRunner.setInput:(Ljava/io/InputStream;)V
9: StackMap locals: org.apache.catalina.servlets.CGIServlet$CGIEnvironment org.apache.catalina.servlets.CGIServlet$CGIRunner
StackMap stack:
aload 4
aload 2
invokevirtual org.apache.catalina.servlets.CGIServlet$CGIRunner.setResponse:(Ljakarta/servlet/http/HttpServletResponse;)V
10: aload 4
invokevirtual org.apache.catalina.servlets.CGIServlet$CGIRunner.run:()V
end local 4 11: goto 13
12: StackMap locals:
StackMap stack:
aload 2
sipush 404
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
13: StackMap locals:
StackMap stack:
getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isTraceEnabled:()Z
ifeq 21
14: aload 3
invokevirtual org.apache.catalina.servlets.CGIServlet$CGIEnvironment.toString:()Ljava/lang/String;
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 15: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 19
StackMap locals: org.apache.catalina.servlets.CGIServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.servlets.CGIServlet$CGIEnvironment java.lang.String[] top int int java.lang.String[]
StackMap stack:
16: aload 8
iload 6
aaload
astore 5
start local 5 17: getstatic org.apache.catalina.servlets.CGIServlet.log:Lorg/apache/juli/logging/Log;
aload 5
invokeinterface org.apache.juli.logging.Log.trace:(Ljava/lang/Object;)V
end local 5 18: iinc 6 1
StackMap locals:
StackMap stack:
19: iload 6
iload 7
if_icmplt 16
20: aload 0
aload 1
invokevirtual org.apache.catalina.servlets.CGIServlet.printServletEnvironment:(Ljakarta/servlet/http/HttpServletRequest;)V
end local 4 21: StackMap locals: org.apache.catalina.servlets.CGIServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.servlets.CGIServlet$CGIEnvironment
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/catalina/servlets/CGIServlet;
0 22 1 req Ljakarta/servlet/http/HttpServletRequest;
0 22 2 res Ljakarta/servlet/http/HttpServletResponse;
1 22 3 cgiEnv Lorg/apache/catalina/servlets/CGIServlet$CGIEnvironment;
7 11 4 cgi Lorg/apache/catalina/servlets/CGIServlet$CGIRunner;
15 21 4 cgiEnvLines [Ljava/lang/String;
17 18 5 cgiEnvLine Ljava/lang/String;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
res
protected void doOptions(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 1: aload 3
aload 0
getfield org.apache.catalina.servlets.CGIServlet.cgiMethods:Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
2: aload 3
getstatic org.apache.catalina.servlets.CGIServlet.DEFAULT_SUPER_METHODS:Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 4: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 8
StackMap locals: org.apache.catalina.servlets.CGIServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.util.Set java.lang.StringBuilder top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 6: aload 4
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 4
bipush 44
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 5 8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: aload 4
aload 4
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
invokevirtual java.lang.StringBuilder.deleteCharAt:(I)Ljava/lang/StringBuilder;
pop
10: aload 2
ldc "allow"
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface jakarta.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/catalina/servlets/CGIServlet;
0 12 1 req Ljakarta/servlet/http/HttpServletRequest;
0 12 2 res Ljakarta/servlet/http/HttpServletResponse;
1 12 3 allowedMethods Ljava/util/Set<Ljava/lang/String;>;
4 12 4 headerValue Ljava/lang/StringBuilder;
6 8 5 method Ljava/lang/String;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
res
private boolean setStatus(jakarta.servlet.http.HttpServletResponse, int);
descriptor: (Ljakarta/servlet/http/HttpServletResponse;I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
sipush 400
if_icmplt 3
1: aload 1
iload 2
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 1
iload 2
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/servlets/CGIServlet;
0 5 1 response Ljakarta/servlet/http/HttpServletResponse;
0 5 2 status I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
response
status
}
SourceFile: "CGIServlet.java"
NestMembers:
org.apache.catalina.servlets.CGIServlet$CGIEnvironment org.apache.catalina.servlets.CGIServlet$CGIRunner org.apache.catalina.servlets.CGIServlet$HTTPHeaderInputStream
InnerClasses:
protected CGIEnvironment = org.apache.catalina.servlets.CGIServlet$CGIEnvironment of org.apache.catalina.servlets.CGIServlet
protected CGIRunner = org.apache.catalina.servlets.CGIServlet$CGIRunner of org.apache.catalina.servlets.CGIServlet
protected HTTPHeaderInputStream = org.apache.catalina.servlets.CGIServlet$HTTPHeaderInputStream of org.apache.catalina.servlets.CGIServlet