public class org.apache.catalina.valves.rewrite.RewriteValve extends org.apache.catalina.valves.ValveBase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.valves.rewrite.RewriteValve
super_class: org.apache.catalina.valves.ValveBase
{
protected org.apache.catalina.valves.rewrite.RewriteRule[] rules;
descriptor: [Lorg/apache/catalina/valves/rewrite/RewriteRule;
flags: (0x0004) ACC_PROTECTED
protected java.lang.ThreadLocal<java.lang.Boolean> invoked;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/lang/ThreadLocal<Ljava/lang/Boolean;>;
protected java.lang.String resourcePath;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected boolean context;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected boolean enabled;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected java.util.Map<java.lang.String, org.apache.catalina.valves.rewrite.RewriteMap> maps;
descriptor: Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/catalina/valves/rewrite/RewriteMap;>;
protected java.util.ArrayList<java.lang.String> mapsConfiguration;
descriptor: Ljava/util/ArrayList;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/ArrayList<Ljava/lang/String;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokespecial org.apache.catalina.valves.ValveBase.<init>:(Z)V
1: aload 0
aconst_null
putfield org.apache.catalina.valves.rewrite.RewriteValve.rules:[Lorg/apache/catalina/valves/rewrite/RewriteRule;
2: aload 0
new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putfield org.apache.catalina.valves.rewrite.RewriteValve.invoked:Ljava/lang/ThreadLocal;
3: aload 0
ldc "rewrite.config"
putfield org.apache.catalina.valves.rewrite.RewriteValve.resourcePath:Ljava/lang/String;
4: aload 0
iconst_0
putfield org.apache.catalina.valves.rewrite.RewriteValve.context:Z
5: aload 0
iconst_1
putfield org.apache.catalina.valves.rewrite.RewriteValve.enabled:Z
6: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.apache.catalina.valves.rewrite.RewriteValve.maps:Ljava/util/Map;
7: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.catalina.valves.rewrite.RewriteValve.mapsConfiguration:Ljava/util/ArrayList;
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/catalina/valves/rewrite/RewriteValve;
public boolean getEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.enabled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/valves/rewrite/RewriteValve;
public void setEnabled(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.valves.rewrite.RewriteValve.enabled:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/valves/rewrite/RewriteValve;
0 2 1 enabled Z
MethodParameters:
Name Flags
enabled
protected void initInternal();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.valves.ValveBase.initInternal:()V
1: aload 0
new java.lang.StringBuilder
dup
aload 0
invokevirtual org.apache.catalina.valves.rewrite.RewriteValve.getContainer:()Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getLogName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".rewrite"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/String;)Lorg/apache/juli/logging/Log;
putfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/valves/rewrite/RewriteValve;
Exceptions:
throws org.apache.catalina.LifecycleException
protected synchronized void startInternal();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=4, locals=8, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.valves.ValveBase.startInternal:()V
1: aconst_null
astore 1
start local 1 2: aload 0
invokevirtual org.apache.catalina.valves.rewrite.RewriteValve.getContainer:()Lorg/apache/catalina/Container;
instanceof org.apache.catalina.Context
ifeq 13
3: aload 0
iconst_1
putfield org.apache.catalina.valves.rewrite.RewriteValve.context:Z
4: aload 0
invokevirtual org.apache.catalina.valves.rewrite.RewriteValve.getContainer:()Lorg/apache/catalina/Container;
checkcast org.apache.catalina.Context
invokeinterface org.apache.catalina.Context.getServletContext:()Ljakarta/servlet/ServletContext;
5: new java.lang.StringBuilder
dup
ldc "/WEB-INF/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.resourcePath:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface jakarta.servlet.ServletContext.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
6: astore 1
7: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 20
8: aload 1
ifnonnull 11
9: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "No configuration resource found: /WEB-INF/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.resourcePath:Ljava/lang/String;
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.debug:(Ljava/lang/Object;)V
10: goto 20
11: StackMap locals: java.io.InputStream
StackMap stack:
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Read configuration from: /WEB-INF/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.resourcePath:Ljava/lang/String;
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.debug:(Ljava/lang/Object;)V
12: goto 20
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.valves.rewrite.RewriteValve.getContainer:()Lorg/apache/catalina/Container;
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.resourcePath:Ljava/lang/String;
invokestatic org.apache.catalina.Container.getConfigPath:(Lorg/apache/catalina/Container;Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 14: invokestatic org.apache.tomcat.util.file.ConfigFileLoader.getSource:()Lorg/apache/tomcat/util/file/ConfigurationSource;
aload 2
invokeinterface org.apache.tomcat.util.file.ConfigurationSource.getResource:(Ljava/lang/String;)Lorg/apache/tomcat/util/file/ConfigurationSource$Resource;
astore 3
start local 3 15: aload 3
invokevirtual org.apache.tomcat.util.file.ConfigurationSource$Resource.getInputStream:()Ljava/io/InputStream;
astore 1
end local 3 16: goto 20
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.InputStream java.lang.String
StackMap stack: java.io.IOException
17: astore 3
start local 3 18: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 20
19: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "No configuration resource found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 3 end local 2 20: StackMap locals:
StackMap stack:
aload 1
ifnonnull 22
21: return
22: StackMap locals:
StackMap stack:
aconst_null
astore 2
aconst_null
astore 3
23: new java.io.InputStreamReader
dup
aload 1
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
astore 4
start local 4 24: new java.io.BufferedReader
dup
aload 4
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 5
start local 5 25: aload 0
aload 5
invokevirtual org.apache.catalina.valves.rewrite.RewriteValve.parse:(Ljava/io/BufferedReader;)V
26: aload 5
ifnull 29
aload 5
invokevirtual java.io.BufferedReader.close:()V
goto 29
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.InputStream java.lang.Throwable java.lang.Throwable java.io.InputStreamReader java.io.BufferedReader
StackMap stack: java.lang.Throwable
27: astore 2
aload 5
ifnull 28
aload 5
invokevirtual java.io.BufferedReader.close:()V
end local 5 StackMap locals:
StackMap stack:
28: aload 2
athrow
StackMap locals:
StackMap stack:
29: aload 4
ifnull 50
aload 4
invokevirtual java.io.InputStreamReader.close:()V
goto 50
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 3
aload 2
ifnonnull 31
aload 3
astore 2
goto 32
StackMap locals:
StackMap stack:
31: aload 2
aload 3
if_acmpeq 32
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
32: aload 4
ifnull 33
aload 4
invokevirtual java.io.InputStreamReader.close:()V
end local 4 StackMap locals:
StackMap stack:
33: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 3
aload 2
ifnonnull 35
aload 3
astore 2
goto 36
StackMap locals:
StackMap stack:
35: aload 2
aload 3
if_acmpeq 36
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
36: aload 2
athrow
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.InputStream
StackMap stack: java.io.IOException
37: astore 2
start local 2 38: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.closeError"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 2
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 39: aload 1
invokevirtual java.io.InputStream.close:()V
40: goto 54
StackMap locals:
StackMap stack: java.io.IOException
41: astore 7
start local 7 42: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.closeError"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 7
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 43: goto 54
44: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
45: aload 1
invokevirtual java.io.InputStream.close:()V
46: goto 49
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.InputStream top top top top java.lang.Throwable
StackMap stack: java.io.IOException
47: astore 7
start local 7 48: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.closeError"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 7
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 49: StackMap locals:
StackMap stack:
aload 6
athrow
50: StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.InputStream
StackMap stack:
aload 1
invokevirtual java.io.InputStream.close:()V
51: goto 54
StackMap locals:
StackMap stack: java.io.IOException
52: astore 7
start local 7 53: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.closeError"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 7
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 54: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lorg/apache/catalina/valves/rewrite/RewriteValve;
2 55 1 is Ljava/io/InputStream;
14 20 2 resourceName Ljava/lang/String;
15 16 3 resource Lorg/apache/tomcat/util/file/ConfigurationSource$Resource;
18 20 3 e Ljava/io/IOException;
24 33 4 isr Ljava/io/InputStreamReader;
25 28 5 reader Ljava/io/BufferedReader;
38 39 2 ioe Ljava/io/IOException;
42 43 7 e Ljava/io/IOException;
48 49 7 e Ljava/io/IOException;
53 54 7 e Ljava/io/IOException;
Exception table:
from to target type
14 16 17 Class java.io.IOException
25 26 27 any
24 29 30 any
23 34 34 any
22 37 37 Class java.io.IOException
39 40 41 Class java.io.IOException
22 39 44 any
45 46 47 Class java.io.IOException
50 51 52 Class java.io.IOException
Exceptions:
throws org.apache.catalina.LifecycleException
public void setConfiguration(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
ifnonnull 2
1: aload 0
new java.lang.StringBuilder
dup
aload 0
invokevirtual org.apache.catalina.valves.rewrite.RewriteValve.getContainer:()Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getLogName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".rewrite"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/String;)Lorg/apache/juli/logging/Log;
putfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.maps:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
3: aload 0
new java.io.BufferedReader
dup
new java.io.StringReader
dup
aload 1
invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
invokevirtual org.apache.catalina.valves.rewrite.RewriteValve.parse:(Ljava/io/BufferedReader;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/valves/rewrite/RewriteValve;
0 5 1 configuration Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
configuration
public java.lang.String getConfiguration();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.mapsConfiguration:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 3: aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\r\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.mapsConfiguration:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifle 7
6: aload 1
ldc "\r\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.lang.StringBuilder
StackMap stack:
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.rules:[Lorg/apache/catalina/valves/rewrite/RewriteRule;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 16
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.lang.StringBuilder top int int org.apache.catalina.valves.rewrite.RewriteRule[]
StackMap stack:
8: aload 5
iload 3
aaload
astore 2
start local 2 9: iconst_0
istore 6
start local 6 10: goto 13
11: StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.lang.StringBuilder org.apache.catalina.valves.rewrite.RewriteRule int int org.apache.catalina.valves.rewrite.RewriteRule[] int
StackMap stack:
aload 1
aload 2
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getConditions:()[Lorg/apache/catalina/valves/rewrite/RewriteCond;
iload 6
aaload
invokevirtual org.apache.catalina.valves.rewrite.RewriteCond.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\r\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
aload 2
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getConditions:()[Lorg/apache/catalina/valves/rewrite/RewriteCond;
arraylength
if_icmplt 11
end local 6 14: aload 1
aload 2
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\r\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\r\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 15: iinc 3 1
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.lang.StringBuilder top int int org.apache.catalina.valves.rewrite.RewriteRule[]
StackMap stack:
16: iload 3
iload 4
if_icmplt 8
17: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/catalina/valves/rewrite/RewriteValve;
1 18 1 buffer Ljava/lang/StringBuilder;
3 4 2 mapConfiguration Ljava/lang/String;
9 15 2 rule Lorg/apache/catalina/valves/rewrite/RewriteRule;
10 14 6 j I
protected void parse(java.io.BufferedReader);
descriptor: (Ljava/io/BufferedReader;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 2: StackMap locals: java.util.List java.util.List
StackMap stack:
aload 1
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: goto 51
5: StackMap locals: java.lang.String
StackMap stack:
aload 4
invokestatic org.apache.catalina.valves.rewrite.RewriteValve.parse:(Ljava/lang/String;)Ljava/lang/Object;
astore 5
start local 5 6: aload 5
instanceof org.apache.catalina.valves.rewrite.RewriteRule
ifeq 37
7: aload 5
checkcast org.apache.catalina.valves.rewrite.RewriteRule
astore 6
start local 6 8: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 12
9: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Add rule with pattern "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getPatternString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc " and substitution "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getSubstitutionString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
12: StackMap locals: java.lang.Object org.apache.catalina.valves.rewrite.RewriteRule
StackMap stack:
aload 3
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 7
start local 7 13: goto 17
14: StackMap locals: int
StackMap stack:
aload 3
iload 7
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.catalina.valves.rewrite.RewriteCond
invokevirtual org.apache.catalina.valves.rewrite.RewriteCond.isOrnext:()Z
ifeq 16
15: aload 3
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.catalina.valves.rewrite.RewriteCond
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteCond.setOrnext:(Z)V
16: StackMap locals:
StackMap stack:
iinc 7 -1
StackMap locals:
StackMap stack:
17: iload 7
ifgt 14
end local 7 18: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 33
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.BufferedReader java.util.List java.util.List java.lang.String java.lang.Object org.apache.catalina.valves.rewrite.RewriteRule top java.util.Iterator
StackMap stack:
19: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.catalina.valves.rewrite.RewriteCond
astore 7
start local 7 20: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 32
21: aload 7
astore 9
start local 9 22: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Add condition "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual org.apache.catalina.valves.rewrite.RewriteCond.getCondPattern:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: ldc " test "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual org.apache.catalina.valves.rewrite.RewriteCond.getTestString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to rule with pattern "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: aload 6
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getPatternString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " and substitution "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: aload 6
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getSubstitutionString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual org.apache.catalina.valves.rewrite.RewriteCond.isOrnext:()Z
ifeq 26
ldc " [OR]"
goto 27
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.BufferedReader java.util.List java.util.List java.lang.String java.lang.Object org.apache.catalina.valves.rewrite.RewriteRule org.apache.catalina.valves.rewrite.RewriteCond java.util.Iterator org.apache.catalina.valves.rewrite.RewriteCond
StackMap stack: org.apache.juli.logging.Log java.lang.StringBuilder
26: ldc ""
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.BufferedReader java.util.List java.util.List java.lang.String java.lang.Object org.apache.catalina.valves.rewrite.RewriteRule org.apache.catalina.valves.rewrite.RewriteCond java.util.Iterator org.apache.catalina.valves.rewrite.RewriteCond
StackMap stack: org.apache.juli.logging.Log java.lang.StringBuilder java.lang.String
27: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
28: aload 9
invokevirtual org.apache.catalina.valves.rewrite.RewriteCond.isNocase:()Z
ifeq 29
ldc " [NC]"
goto 30
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.BufferedReader java.util.List java.util.List java.lang.String java.lang.Object org.apache.catalina.valves.rewrite.RewriteRule org.apache.catalina.valves.rewrite.RewriteCond java.util.Iterator org.apache.catalina.valves.rewrite.RewriteCond
StackMap stack: org.apache.juli.logging.Log java.lang.StringBuilder
29: ldc ""
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.BufferedReader java.util.List java.util.List java.lang.String java.lang.Object org.apache.catalina.valves.rewrite.RewriteRule org.apache.catalina.valves.rewrite.RewriteCond java.util.Iterator org.apache.catalina.valves.rewrite.RewriteCond
StackMap stack: org.apache.juli.logging.Log java.lang.StringBuilder java.lang.String
30: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
end local 9 32: StackMap locals:
StackMap stack:
aload 6
aload 7
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.addCondition:(Lorg/apache/catalina/valves/rewrite/RewriteCond;)V
end local 7 33: StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.BufferedReader java.util.List java.util.List java.lang.String java.lang.Object org.apache.catalina.valves.rewrite.RewriteRule top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
34: aload 3
invokeinterface java.util.List.clear:()V
35: aload 2
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 36: goto 2
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.BufferedReader java.util.List java.util.List java.lang.String java.lang.Object
StackMap stack:
37: aload 5
instanceof org.apache.catalina.valves.rewrite.RewriteCond
ifeq 40
38: aload 3
aload 5
checkcast org.apache.catalina.valves.rewrite.RewriteCond
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
39: goto 2
StackMap locals:
StackMap stack:
40: aload 5
instanceof java.lang.Object[]
ifeq 2
41: aload 5
checkcast java.lang.Object[]
iconst_0
aaload
checkcast java.lang.String
astore 6
start local 6 42: aload 5
checkcast java.lang.Object[]
iconst_1
aaload
checkcast org.apache.catalina.valves.rewrite.RewriteMap
astore 7
start local 7 43: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.maps:Ljava/util/Map;
aload 6
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
44: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.mapsConfiguration:Ljava/util/ArrayList;
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
45: aload 7
instanceof org.apache.catalina.Lifecycle
ifeq 2
46: aload 7
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.start:()V
end local 7 end local 6 end local 5 end local 4 47: goto 2
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.BufferedReader java.util.List java.util.List
StackMap stack: java.io.IOException
48: astore 4
start local 4 49: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.readError"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 4
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 4 50: goto 2
51: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_0
anewarray org.apache.catalina.valves.rewrite.RewriteRule
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.apache.catalina.valves.rewrite.RewriteRule[]
putfield org.apache.catalina.valves.rewrite.RewriteValve.rules:[Lorg/apache/catalina/valves/rewrite/RewriteRule;
52: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.rules:[Lorg/apache/catalina/valves/rewrite/RewriteRule;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 56
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve java.io.BufferedReader java.util.List java.util.List top int int org.apache.catalina.valves.rewrite.RewriteRule[]
StackMap stack:
53: aload 7
iload 5
aaload
astore 4
start local 4 54: aload 4
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.maps:Ljava/util/Map;
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.parse:(Ljava/util/Map;)V
end local 4 55: iinc 5 1
StackMap locals:
StackMap stack:
56: iload 5
iload 6
if_icmplt 53
57: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lorg/apache/catalina/valves/rewrite/RewriteValve;
0 58 1 reader Ljava/io/BufferedReader;
1 58 2 rules Ljava/util/List<Lorg/apache/catalina/valves/rewrite/RewriteRule;>;
2 58 3 conditions Ljava/util/List<Lorg/apache/catalina/valves/rewrite/RewriteCond;>;
3 47 4 line Ljava/lang/String;
6 47 5 result Ljava/lang/Object;
8 36 6 rule Lorg/apache/catalina/valves/rewrite/RewriteRule;
13 18 7 i I
20 33 7 condition Lorg/apache/catalina/valves/rewrite/RewriteCond;
22 32 9 cond Lorg/apache/catalina/valves/rewrite/RewriteCond;
42 47 6 mapName Ljava/lang/String;
43 47 7 map Lorg/apache/catalina/valves/rewrite/RewriteMap;
49 50 4 e Ljava/io/IOException;
54 55 4 rule Lorg/apache/catalina/valves/rewrite/RewriteRule;
Exception table:
from to target type
2 4 48 Class java.io.IOException
5 47 48 Class java.io.IOException
Exceptions:
throws org.apache.catalina.LifecycleException
MethodParameters:
Name Flags
reader
protected synchronized void stopInternal();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.valves.ValveBase.stopInternal:()V
1: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.maps:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.catalina.valves.rewrite.RewriteMap
astore 1
start local 1 3: aload 1
instanceof org.apache.catalina.Lifecycle
ifeq 5
4: aload 1
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.stop:()V
end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.maps:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
7: aload 0
aconst_null
putfield org.apache.catalina.valves.rewrite.RewriteValve.rules:[Lorg/apache/catalina/valves/rewrite/RewriteRule;
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/catalina/valves/rewrite/RewriteValve;
3 5 1 map Lorg/apache/catalina/valves/rewrite/RewriteMap;
Exceptions:
throws org.apache.catalina.LifecycleException
public void invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response);
descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=22, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.apache.catalina.valves.rewrite.RewriteValve.getEnabled:()Z
ifeq 1
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.rules:[Lorg/apache/catalina/valves/rewrite/RewriteRule;
ifnull 1
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.rules:[Lorg/apache/catalina/valves/rewrite/RewriteRule;
arraylength
ifne 3
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.valves.rewrite.RewriteValve.getNext:()Lorg/apache/catalina/Valve;
aload 1
aload 2
invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
2: return
3: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.invoked:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 11
4: aload 0
invokevirtual org.apache.catalina.valves.rewrite.RewriteValve.getNext:()Lorg/apache/catalina/Valve;
aload 1
aload 2
invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 3
7: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.invoked:Ljava/lang/ThreadLocal;
aconst_null
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
8: aload 3
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.invoked:Ljava/lang/ThreadLocal;
aconst_null
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
10: return
11: StackMap locals:
StackMap stack:
new org.apache.catalina.valves.rewrite.ResolverImpl
dup
aload 1
invokespecial org.apache.catalina.valves.rewrite.ResolverImpl.<init>:(Lorg/apache/catalina/connector/Request;)V
astore 3
start local 3 12: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.invoked:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
13: aload 1
invokevirtual org.apache.catalina.connector.Request.getConnector:()Lorg/apache/catalina/connector/Connector;
invokevirtual org.apache.catalina.connector.Connector.getURICharset:()Ljava/nio/charset/Charset;
astore 4
start local 4 14: aload 1
invokevirtual org.apache.catalina.connector.Request.getQueryString:()Ljava/lang/String;
astore 5
start local 5 15: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.context:Z
ifeq 16
aload 1
invokevirtual org.apache.catalina.connector.Request.getRequestPathMB:()Lorg/apache/tomcat/util/buf/MessageBytes;
goto 17
StackMap locals: org.apache.catalina.valves.rewrite.Resolver java.nio.charset.Charset java.lang.String
StackMap stack:
16: aload 1
invokevirtual org.apache.catalina.connector.Request.getDecodedRequestURIMB:()Lorg/apache/tomcat/util/buf/MessageBytes;
17: StackMap locals:
StackMap stack: org.apache.tomcat.util.buf.MessageBytes
astore 6
start local 6 18: aload 6
invokevirtual org.apache.tomcat.util.buf.MessageBytes.toChars:()V
19: aload 6
invokevirtual org.apache.tomcat.util.buf.MessageBytes.getCharChunk:()Lorg/apache/tomcat/util/buf/CharChunk;
astore 7
start local 7 20: aload 1
invokevirtual org.apache.catalina.connector.Request.getServerName:()Ljava/lang/String;
astore 8
start local 8 21: iconst_0
istore 9
start local 9 22: iconst_0
istore 10
start local 10 23: iconst_0
istore 11
start local 11 24: iconst_0
istore 12
start local 12 25: iconst_0
istore 13
start local 13 26: goto 138
27: StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.valves.rewrite.Resolver java.nio.charset.Charset java.lang.String org.apache.tomcat.util.buf.MessageBytes java.lang.CharSequence java.lang.CharSequence int int int int int
StackMap stack:
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.rules:[Lorg/apache/catalina/valves/rewrite/RewriteRule;
iload 13
aaload
astore 14
start local 14 28: aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isHost:()Z
ifeq 29
aload 8
goto 30
StackMap locals: org.apache.catalina.valves.rewrite.RewriteRule
StackMap stack:
29: aload 7
StackMap locals:
StackMap stack: java.lang.CharSequence
30: astore 15
start local 15 31: aload 14
aload 15
aload 3
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.evaluate:(Ljava/lang/CharSequence;Lorg/apache/catalina/valves/rewrite/Resolver;)Ljava/lang/CharSequence;
astore 16
start local 16 32: aload 16
ifnull 42
aload 15
aload 16
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 42
33: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 37
34: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.containerLog:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Rewrote "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " as "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35: ldc " with rule pattern "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getPatternString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
37: StackMap locals: java.lang.CharSequence java.lang.CharSequence
StackMap stack:
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isHost:()Z
ifeq 40
38: aload 16
astore 8
39: goto 41
40: StackMap locals:
StackMap stack:
aload 16
astore 7
41: StackMap locals:
StackMap stack:
iconst_1
istore 9
42: StackMap locals:
StackMap stack:
iload 11
ifne 44
aload 16
ifnull 44
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isQsappend:()Z
ifeq 44
43: iconst_1
istore 11
44: StackMap locals:
StackMap stack:
iload 11
ifne 46
aload 16
ifnull 46
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isQsdiscard:()Z
ifeq 46
45: iconst_1
istore 12
46: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isForbidden:()Z
ifeq 50
aload 16
ifnull 50
47: aload 2
sipush 403
invokevirtual org.apache.catalina.connector.Response.sendError:(I)V
48: iconst_1
istore 10
49: goto 139
50: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isGone:()Z
ifeq 54
aload 16
ifnull 54
51: aload 2
sipush 410
invokevirtual org.apache.catalina.connector.Response.sendError:(I)V
52: iconst_1
istore 10
53: goto 139
54: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isRedirect:()Z
ifeq 103
aload 16
ifnull 103
55: aload 7
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 17
start local 17 56: aload 17
ldc "?"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 18
start local 18 57: iload 18
iconst_m1
if_icmpne 60
58: aconst_null
astore 19
start local 19 59: goto 62
end local 19 60: StackMap locals: java.lang.String int
StackMap stack:
aload 17
iload 18
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 19
start local 19 61: aload 17
iconst_0
iload 18
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 17
62: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
getstatic org.apache.catalina.util.URLEncoder.DEFAULT:Lorg/apache/catalina/util/URLEncoder;
aload 17
aload 4
invokevirtual org.apache.catalina.util.URLEncoder.encode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
63: astore 20
start local 20 64: iload 12
ifne 86
aload 5
ifnull 86
65: aload 5
invokevirtual java.lang.String.length:()I
ifle 86
66: aload 19
ifnonnull 70
67: aload 20
bipush 63
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
68: aload 20
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
69: goto 91
70: StackMap locals: java.lang.StringBuilder
StackMap stack:
iload 11
ifeq 78
71: aload 20
bipush 63
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
72: aload 20
getstatic org.apache.catalina.util.URLEncoder.QUERY:Lorg/apache/catalina/util/URLEncoder;
73: aload 19
aload 4
74: invokevirtual org.apache.catalina.util.URLEncoder.encode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
75: aload 20
bipush 38
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
76: aload 20
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
77: goto 91
StackMap locals:
StackMap stack:
78: iload 18
aload 20
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
if_icmpne 81
79: aload 20
iload 18
invokevirtual java.lang.StringBuilder.deleteCharAt:(I)Ljava/lang/StringBuilder;
pop
80: goto 91
81: StackMap locals:
StackMap stack:
aload 20
bipush 63
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
82: aload 20
getstatic org.apache.catalina.util.URLEncoder.QUERY:Lorg/apache/catalina/util/URLEncoder;
83: aload 19
aload 4
84: invokevirtual org.apache.catalina.util.URLEncoder.encode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
85: goto 91
StackMap locals:
StackMap stack:
86: aload 19
ifnull 91
87: aload 20
bipush 63
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
88: aload 20
89: getstatic org.apache.catalina.util.URLEncoder.QUERY:Lorg/apache/catalina/util/URLEncoder;
aload 19
aload 4
invokevirtual org.apache.catalina.util.URLEncoder.encode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
90: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
91: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.context:Z
ifeq 94
aload 20
iconst_0
invokevirtual java.lang.StringBuilder.charAt:(I)C
bipush 47
if_icmpne 94
92: aload 20
invokestatic org.apache.tomcat.util.buf.UriUtil.hasScheme:(Ljava/lang/CharSequence;)Z
ifne 94
93: aload 20
iconst_0
aload 1
invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getEncodedPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
pop
94: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isNoescape:()Z
ifeq 99
95: aload 2
96: aload 20
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokestatic org.apache.tomcat.util.buf.UDecoder.URLDecode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
97: invokevirtual org.apache.catalina.connector.Response.sendRedirect:(Ljava/lang/String;)V
98: goto 100
99: StackMap locals:
StackMap stack:
aload 2
aload 20
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.catalina.connector.Response.sendRedirect:(Ljava/lang/String;)V
100: StackMap locals:
StackMap stack:
aload 2
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getRedirectCode:()I
invokevirtual org.apache.catalina.connector.Response.setStatus:(I)V
101: iconst_1
istore 10
102: goto 139
end local 20 end local 19 end local 18 end local 17 103: StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.valves.rewrite.Resolver java.nio.charset.Charset java.lang.String org.apache.tomcat.util.buf.MessageBytes java.lang.CharSequence java.lang.CharSequence int int int int int org.apache.catalina.valves.rewrite.RewriteRule java.lang.CharSequence java.lang.CharSequence
StackMap stack:
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isCookie:()Z
ifeq 113
aload 16
ifnull 113
104: new jakarta.servlet.http.Cookie
dup
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getCookieName:()Ljava/lang/String;
105: aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getCookieResult:()Ljava/lang/String;
106: invokespecial jakarta.servlet.http.Cookie.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 17
start local 17 107: aload 17
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getCookieDomain:()Ljava/lang/String;
invokevirtual jakarta.servlet.http.Cookie.setDomain:(Ljava/lang/String;)V
108: aload 17
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getCookieLifetime:()I
invokevirtual jakarta.servlet.http.Cookie.setMaxAge:(I)V
109: aload 17
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getCookiePath:()Ljava/lang/String;
invokevirtual jakarta.servlet.http.Cookie.setPath:(Ljava/lang/String;)V
110: aload 17
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isCookieSecure:()Z
invokevirtual jakarta.servlet.http.Cookie.setSecure:(Z)V
111: aload 17
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isCookieHttpOnly:()Z
invokevirtual jakarta.servlet.http.Cookie.setHttpOnly:(Z)V
112: aload 2
aload 17
invokevirtual org.apache.catalina.connector.Response.addCookie:(Ljakarta/servlet/http/Cookie;)V
end local 17 113: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isEnv:()Z
ifeq 119
aload 16
ifnull 119
114: iconst_0
istore 17
start local 17 115: goto 118
116: StackMap locals: int
StackMap stack:
aload 1
aload 14
iload 17
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getEnvName:(I)Ljava/lang/String;
aload 14
iload 17
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getEnvResult:(I)Ljava/lang/String;
invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
117: iinc 17 1
StackMap locals:
StackMap stack:
118: iload 17
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getEnvSize:()I
if_icmplt 116
end local 17 119: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isType:()Z
ifeq 121
aload 16
ifnull 121
120: aload 1
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getTypeValue:()Ljava/lang/String;
invokevirtual org.apache.catalina.connector.Request.setContentType:(Ljava/lang/String;)V
121: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isChain:()Z
ifeq 130
aload 16
ifnonnull 130
122: iload 13
istore 17
start local 17 123: goto 128
124: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.rules:[Lorg/apache/catalina/valves/rewrite/RewriteRule;
iload 17
aaload
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isChain:()Z
ifne 127
125: iload 17
istore 13
126: goto 137
127: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
128: iload 17
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.rules:[Lorg/apache/catalina/valves/rewrite/RewriteRule;
arraylength
if_icmplt 124
end local 17 129: goto 137
130: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isLast:()Z
ifeq 132
aload 16
ifnull 132
131: goto 139
132: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.isNext:()Z
ifeq 135
aload 16
ifnull 135
133: iconst_0
istore 13
134: goto 137
135: StackMap locals:
StackMap stack:
aload 16
ifnull 137
136: iload 13
aload 14
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.getSkip:()I
iadd
istore 13
end local 16 end local 15 end local 14 137: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
138: iload 13
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.rules:[Lorg/apache/catalina/valves/rewrite/RewriteRule;
arraylength
if_icmplt 27
end local 13 139: StackMap locals:
StackMap stack:
iload 9
ifeq 195
140: iload 10
ifne 200
141: aload 7
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 13
start local 13 142: aconst_null
astore 14
start local 14 143: aload 13
bipush 63
invokevirtual java.lang.String.indexOf:(I)I
istore 15
start local 15 144: iload 15
iconst_m1
if_icmpeq 147
145: aload 13
iload 15
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 14
146: aload 13
iconst_0
iload 15
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 13
147: StackMap locals: java.lang.String java.lang.String int
StackMap stack:
aconst_null
astore 16
start local 16 148: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.context:Z
ifeq 150
149: aload 1
invokevirtual org.apache.catalina.connector.Request.getContextPath:()Ljava/lang/String;
astore 16
150: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.requestURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
aconst_null
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
151: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.requestURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.getCharChunk:()Lorg/apache/tomcat/util/buf/CharChunk;
astore 17
start local 17 152: aload 17
invokevirtual org.apache.tomcat.util.buf.CharChunk.recycle:()V
153: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.context:Z
ifeq 155
154: aload 17
aload 16
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(Ljava/lang/String;)V
155: StackMap locals: org.apache.tomcat.util.buf.CharChunk
StackMap stack:
aload 17
getstatic org.apache.catalina.util.URLEncoder.DEFAULT:Lorg/apache/catalina/util/URLEncoder;
aload 13
aload 4
invokevirtual org.apache.catalina.util.URLEncoder.encode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(Ljava/lang/String;)V
156: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.requestURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.toChars:()V
157: aload 13
invokestatic org.apache.tomcat.util.http.RequestUtil.normalize:(Ljava/lang/String;)Ljava/lang/String;
astore 13
158: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.decodedURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
aconst_null
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
159: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.decodedURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.getCharChunk:()Lorg/apache/tomcat/util/buf/CharChunk;
astore 17
160: aload 17
invokevirtual org.apache.tomcat.util.buf.CharChunk.recycle:()V
161: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.context:Z
ifeq 163
162: aload 17
aload 1
invokevirtual org.apache.catalina.connector.Request.getServletContext:()Ljakarta/servlet/ServletContext;
invokeinterface jakarta.servlet.ServletContext.getContextPath:()Ljava/lang/String;
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(Ljava/lang/String;)V
163: StackMap locals:
StackMap stack:
aload 17
aload 13
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(Ljava/lang/String;)V
164: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.decodedURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.toChars:()V
165: aload 14
ifnull 176
166: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.queryString:()Lorg/apache/tomcat/util/buf/MessageBytes;
aconst_null
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
167: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.queryString:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.getCharChunk:()Lorg/apache/tomcat/util/buf/CharChunk;
astore 17
168: aload 17
invokevirtual org.apache.tomcat.util.buf.CharChunk.recycle:()V
169: aload 17
getstatic org.apache.catalina.util.URLEncoder.QUERY:Lorg/apache/catalina/util/URLEncoder;
aload 14
aload 4
invokevirtual org.apache.catalina.util.URLEncoder.encode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(Ljava/lang/String;)V
170: iload 11
ifeq 174
aload 5
ifnull 174
171: aload 5
invokevirtual java.lang.String.length:()I
ifle 174
172: aload 17
bipush 38
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(C)V
173: aload 17
aload 5
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(Ljava/lang/String;)V
174: StackMap locals:
StackMap stack:
aload 17
invokevirtual org.apache.tomcat.util.buf.CharChunk.isNull:()Z
ifne 176
175: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.queryString:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.toChars:()V
176: StackMap locals:
StackMap stack:
aload 8
aload 1
invokevirtual org.apache.catalina.connector.Request.getServerName:()Ljava/lang/String;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 182
177: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.serverName:()Lorg/apache/tomcat/util/buf/MessageBytes;
aconst_null
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
178: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.serverName:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.getCharChunk:()Lorg/apache/tomcat/util/buf/CharChunk;
astore 17
179: aload 17
invokevirtual org.apache.tomcat.util.buf.CharChunk.recycle:()V
180: aload 17
aload 8
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual org.apache.tomcat.util.buf.CharChunk.append:(Ljava/lang/String;)V
181: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.serverName:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.toChars:()V
182: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.getMappingData:()Lorg/apache/catalina/mapper/MappingData;
invokevirtual org.apache.catalina.mapper.MappingData.recycle:()V
183: aload 1
invokevirtual org.apache.catalina.connector.Request.getConnector:()Lorg/apache/catalina/connector/Connector;
astore 18
start local 18 184: aload 18
invokevirtual org.apache.catalina.connector.Connector.getProtocolHandler:()Lorg/apache/coyote/ProtocolHandler;
invokeinterface org.apache.coyote.ProtocolHandler.getAdapter:()Lorg/apache/coyote/Adapter;
185: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
aload 2
invokevirtual org.apache.catalina.connector.Response.getCoyoteResponse:()Lorg/apache/coyote/Response;
186: invokeinterface org.apache.coyote.Adapter.prepare:(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)Z
187: ifne 191
188: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.invoked:Ljava/lang/ThreadLocal;
aconst_null
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
189: return
190: StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.valves.rewrite.Resolver java.nio.charset.Charset java.lang.String org.apache.tomcat.util.buf.MessageBytes java.lang.CharSequence java.lang.CharSequence int int int int java.lang.String java.lang.String int java.lang.String org.apache.tomcat.util.buf.CharChunk org.apache.catalina.connector.Connector
StackMap stack: java.lang.Exception
pop
191: StackMap locals:
StackMap stack:
aload 18
invokevirtual org.apache.catalina.connector.Connector.getService:()Lorg/apache/catalina/Service;
invokeinterface org.apache.catalina.Service.getContainer:()Lorg/apache/catalina/Engine;
invokeinterface org.apache.catalina.Engine.getPipeline:()Lorg/apache/catalina/Pipeline;
astore 19
start local 19 192: aload 1
aload 19
invokeinterface org.apache.catalina.Pipeline.isAsyncSupported:()Z
invokevirtual org.apache.catalina.connector.Request.setAsyncSupported:(Z)V
193: aload 19
invokeinterface org.apache.catalina.Pipeline.getFirst:()Lorg/apache/catalina/Valve;
aload 1
aload 2
invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 194: goto 200
195: StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.valves.rewrite.Resolver java.nio.charset.Charset java.lang.String org.apache.tomcat.util.buf.MessageBytes java.lang.CharSequence java.lang.CharSequence int int int int
StackMap stack:
aload 0
invokevirtual org.apache.catalina.valves.rewrite.RewriteValve.getNext:()Lorg/apache/catalina/Valve;
aload 1
aload 2
invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 196: goto 200
StackMap locals: org.apache.catalina.valves.rewrite.RewriteValve org.apache.catalina.connector.Request org.apache.catalina.connector.Response
StackMap stack: java.lang.Throwable
197: astore 21
198: aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.invoked:Ljava/lang/ThreadLocal;
aconst_null
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
199: aload 21
athrow
200: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.valves.rewrite.RewriteValve.invoked:Ljava/lang/ThreadLocal;
aconst_null
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
201: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 202 0 this Lorg/apache/catalina/valves/rewrite/RewriteValve;
0 202 1 request Lorg/apache/catalina/connector/Request;
0 202 2 response Lorg/apache/catalina/connector/Response;
12 196 3 resolver Lorg/apache/catalina/valves/rewrite/Resolver;
14 196 4 uriCharset Ljava/nio/charset/Charset;
15 196 5 originalQueryStringEncoded Ljava/lang/String;
18 196 6 urlMB Lorg/apache/tomcat/util/buf/MessageBytes;
20 196 7 urlDecoded Ljava/lang/CharSequence;
21 196 8 host Ljava/lang/CharSequence;
22 196 9 rewritten Z
23 196 10 done Z
24 196 11 qsa Z
25 196 12 qsd Z
26 139 13 i I
28 137 14 rule Lorg/apache/catalina/valves/rewrite/RewriteRule;
31 137 15 test Ljava/lang/CharSequence;
32 137 16 newtest Ljava/lang/CharSequence;
56 103 17 urlStringDecoded Ljava/lang/String;
57 103 18 index I
59 60 19 rewrittenQueryStringDecoded Ljava/lang/String;
61 103 19 rewrittenQueryStringDecoded Ljava/lang/String;
64 103 20 urlStringEncoded Ljava/lang/StringBuilder;
107 113 17 cookie Ljakarta/servlet/http/Cookie;
115 119 17 j I
123 129 17 j I
142 194 13 urlStringDecoded Ljava/lang/String;
143 194 14 queryStringDecoded Ljava/lang/String;
144 194 15 queryIndex I
148 194 16 contextPath Ljava/lang/String;
152 194 17 chunk Lorg/apache/tomcat/util/buf/CharChunk;
184 194 18 connector Lorg/apache/catalina/connector/Connector;
192 194 19 pipeline Lorg/apache/catalina/Pipeline;
Exception table:
from to target type
4 6 6 any
184 188 190 Class java.lang.Exception
11 188 197 any
190 197 197 any
Exceptions:
throws java.io.IOException, jakarta.servlet.ServletException
MethodParameters:
Name Flags
request
response
public static java.lang.Object parse(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=7, args_size=1
start local 0 0: new org.apache.catalina.valves.rewrite.QuotedStringTokenizer
dup
aload 0
invokespecial org.apache.catalina.valves.rewrite.QuotedStringTokenizer.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.hasMoreTokens:()Z
ifeq 66
2: aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 3: aload 2
ldc "RewriteCond"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
4: new org.apache.catalina.valves.rewrite.RewriteCond
dup
invokespecial org.apache.catalina.valves.rewrite.RewriteCond.<init>:()V
astore 3
start local 3 5: aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.countTokens:()I
iconst_2
if_icmpge 7
6: new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.invalidLine"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: org.apache.catalina.valves.rewrite.QuotedStringTokenizer java.lang.String org.apache.catalina.valves.rewrite.RewriteCond
StackMap stack:
aload 3
aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual org.apache.catalina.valves.rewrite.RewriteCond.setTestString:(Ljava/lang/String;)V
8: aload 3
aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual org.apache.catalina.valves.rewrite.RewriteCond.setCondPattern:(Ljava/lang/String;)V
9: aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.hasMoreTokens:()Z
ifeq 18
10: aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.nextToken:()Ljava/lang/String;
astore 4
start local 4 11: aload 3
aload 4
invokevirtual org.apache.catalina.valves.rewrite.RewriteCond.setFlagsString:(Ljava/lang/String;)V
12: aload 4
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 14
aload 4
ldc "]"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 14
13: aload 4
iconst_1
aload 4
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
14: StackMap locals: java.lang.String
StackMap stack:
new java.util.StringTokenizer
dup
aload 4
ldc ","
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 5
start local 5 15: goto 17
16: StackMap locals: java.util.StringTokenizer
StackMap stack:
aload 0
aload 3
aload 5
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokestatic org.apache.catalina.valves.rewrite.RewriteValve.parseCondFlag:(Ljava/lang/String;Lorg/apache/catalina/valves/rewrite/RewriteCond;Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.util.StringTokenizer.hasMoreElements:()Z
ifne 16
end local 5 end local 4 18: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 19: StackMap locals:
StackMap stack:
aload 2
ldc "RewriteRule"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
20: new org.apache.catalina.valves.rewrite.RewriteRule
dup
invokespecial org.apache.catalina.valves.rewrite.RewriteRule.<init>:()V
astore 3
start local 3 21: aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.countTokens:()I
iconst_2
if_icmpge 23
22: new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.invalidLine"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: org.apache.catalina.valves.rewrite.RewriteRule
StackMap stack:
aload 3
aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setPatternString:(Ljava/lang/String;)V
24: aload 3
aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setSubstitutionString:(Ljava/lang/String;)V
25: aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.hasMoreTokens:()Z
ifeq 34
26: aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.nextToken:()Ljava/lang/String;
astore 4
start local 4 27: aload 3
aload 4
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setFlagsString:(Ljava/lang/String;)V
28: aload 4
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 30
aload 4
ldc "]"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 30
29: aload 4
iconst_1
aload 4
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
30: StackMap locals: java.lang.String
StackMap stack:
new java.util.StringTokenizer
dup
aload 4
ldc ","
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 5
start local 5 31: goto 33
32: StackMap locals: java.util.StringTokenizer
StackMap stack:
aload 0
aload 3
aload 5
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokestatic org.apache.catalina.valves.rewrite.RewriteValve.parseRuleFlag:(Ljava/lang/String;Lorg/apache/catalina/valves/rewrite/RewriteRule;Ljava/lang/String;)V
33: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.util.StringTokenizer.hasMoreElements:()Z
ifne 32
end local 5 end local 4 34: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 35: StackMap locals:
StackMap stack:
aload 2
ldc "RewriteMap"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 64
36: aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.countTokens:()I
iconst_2
if_icmpge 38
37: new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.invalidLine"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.nextToken:()Ljava/lang/String;
astore 3
start local 3 39: aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.nextToken:()Ljava/lang/String;
astore 4
start local 4 40: aconst_null
astore 5
start local 5 41: aload 4
ldc "int:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 44
42: aload 4
ldc "int:"
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic org.apache.catalina.valves.rewrite.InternalRewriteMap.toMap:(Ljava/lang/String;)Lorg/apache/catalina/valves/rewrite/RewriteMap;
astore 5
43: goto 46
StackMap locals: java.lang.String java.lang.String org.apache.catalina.valves.rewrite.RewriteMap
StackMap stack:
44: aload 4
ldc "prg:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 46
45: aload 4
ldc "prg:"
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
46: StackMap locals:
StackMap stack:
aload 5
ifnonnull 54
47: aload 4
48: invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
49: invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.catalina.valves.rewrite.RewriteMap
50: astore 5
51: goto 54
StackMap locals:
StackMap stack: java.lang.Exception
52: pop
53: new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.invalidMapClassName"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
54: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.hasMoreTokens:()Z
ifeq 63
55: aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.countTokens:()I
iconst_1
if_icmpne 58
56: aload 5
aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.nextToken:()Ljava/lang/String;
invokeinterface org.apache.catalina.valves.rewrite.RewriteMap.setParameters:(Ljava/lang/String;)Ljava/lang/String;
pop
57: goto 63
58: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 59: goto 61
60: StackMap locals: java.util.List
StackMap stack:
aload 6
aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.nextToken:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
61: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.catalina.valves.rewrite.QuotedStringTokenizer.hasMoreTokens:()Z
ifne 60
62: aload 5
aload 6
iconst_0
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
invokeinterface org.apache.catalina.valves.rewrite.RewriteMap.setParameters:([Ljava/lang/String;)V
end local 6 63: StackMap locals:
StackMap stack:
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 5
aastore
areturn
end local 5 end local 4 end local 3 64: StackMap locals:
StackMap stack:
aload 2
ldc "#"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 66
65: new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.invalidLine"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 66: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 line Ljava/lang/String;
1 67 1 tokenizer Lorg/apache/catalina/valves/rewrite/QuotedStringTokenizer;
3 66 2 token Ljava/lang/String;
5 19 3 condition Lorg/apache/catalina/valves/rewrite/RewriteCond;
11 18 4 flags Ljava/lang/String;
15 18 5 flagsTokenizer Ljava/util/StringTokenizer;
21 35 3 rule Lorg/apache/catalina/valves/rewrite/RewriteRule;
27 34 4 flags Ljava/lang/String;
31 34 5 flagsTokenizer Ljava/util/StringTokenizer;
39 64 3 name Ljava/lang/String;
40 64 4 rewriteMapClassName Ljava/lang/String;
41 64 5 map Lorg/apache/catalina/valves/rewrite/RewriteMap;
59 63 6 params Ljava/util/List<Ljava/lang/String;>;
Exception table:
from to target type
47 51 52 Class java.lang.Exception
MethodParameters:
Name Flags
line
protected static void parseCondFlag(java.lang.String, org.apache.catalina.valves.rewrite.RewriteCond, java.lang.String);
descriptor: (Ljava/lang/String;Lorg/apache/catalina/valves/rewrite/RewriteCond;Ljava/lang/String;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=8, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc "NC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
aload 2
ldc "nocase"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
1: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteCond.setNocase:(Z)V
2: goto 7
StackMap locals:
StackMap stack:
3: aload 2
ldc "OR"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
aload 2
ldc "ornext"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteCond.setOrnext:(Z)V
5: goto 7
6: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.invalidFlags"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 line Ljava/lang/String;
0 8 1 condition Lorg/apache/catalina/valves/rewrite/RewriteCond;
0 8 2 flag Ljava/lang/String;
MethodParameters:
Name Flags
line
condition
flag
protected static void parseRuleFlag(java.lang.String, org.apache.catalina.valves.rewrite.RewriteRule, java.lang.String);
descriptor: (Ljava/lang/String;Lorg/apache/catalina/valves/rewrite/RewriteRule;Ljava/lang/String;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc "B"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
1: aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setEscapeBackReferences:(Z)V
2: goto 112
StackMap locals:
StackMap stack:
3: aload 2
ldc "chain"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
aload 2
ldc "C"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setChain:(Z)V
5: goto 112
StackMap locals:
StackMap stack:
6: aload 2
ldc "cookie="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 7
aload 2
ldc "CO="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 32
7: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setCookie:(Z)V
8: aload 2
ldc "cookie"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
9: aload 2
ldc "cookie="
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
10: goto 13
StackMap locals:
StackMap stack:
11: aload 2
ldc "CO="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 13
12: aload 2
ldc "CO="
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
13: StackMap locals:
StackMap stack:
new java.util.StringTokenizer
dup
aload 2
ldc ":"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 3
start local 3 14: aload 3
invokevirtual java.util.StringTokenizer.countTokens:()I
iconst_2
if_icmpge 16
15: new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.invalidFlags"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: java.util.StringTokenizer
StackMap stack:
aload 1
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setCookieName:(Ljava/lang/String;)V
17: aload 1
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setCookieValue:(Ljava/lang/String;)V
18: aload 3
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 20
19: aload 1
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setCookieDomain:(Ljava/lang/String;)V
20: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 25
21: aload 1
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setCookieLifetime:(I)V
22: goto 25
StackMap locals:
StackMap stack: java.lang.NumberFormatException
23: astore 4
start local 4 24: new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.invalidFlags"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 4
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 25: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 27
26: aload 1
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setCookiePath:(Ljava/lang/String;)V
27: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 29
28: aload 1
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setCookieSecure:(Z)V
29: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 112
30: aload 1
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setCookieHttpOnly:(Z)V
end local 3 31: goto 112
StackMap locals:
StackMap stack:
32: aload 2
ldc "env="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 33
aload 2
ldc "E="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 45
33: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setEnv:(Z)V
34: aload 2
ldc "env="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 37
35: aload 2
ldc "env="
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
36: goto 39
StackMap locals:
StackMap stack:
37: aload 2
ldc "E="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 39
38: aload 2
ldc "E="
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
39: StackMap locals:
StackMap stack:
aload 2
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 3
start local 3 40: iload 3
iconst_m1
if_icmpeq 41
iload 3
iconst_1
iadd
aload 2
invokevirtual java.lang.String.length:()I
if_icmpne 42
41: StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.invalidFlags"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals:
StackMap stack:
aload 1
aload 2
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.addEnvName:(Ljava/lang/String;)V
43: aload 1
aload 2
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.addEnvValue:(Ljava/lang/String;)V
end local 3 44: goto 112
StackMap locals:
StackMap stack:
45: aload 2
ldc "forbidden"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 46
aload 2
ldc "F"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 48
46: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setForbidden:(Z)V
47: goto 112
StackMap locals:
StackMap stack:
48: aload 2
ldc "gone"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 49
aload 2
ldc "G"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 51
49: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setGone:(Z)V
50: goto 112
StackMap locals:
StackMap stack:
51: aload 2
ldc "host"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 52
aload 2
ldc "H"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 54
52: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setHost:(Z)V
53: goto 112
StackMap locals:
StackMap stack:
54: aload 2
ldc "last"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 55
aload 2
ldc "L"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 57
55: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setLast:(Z)V
56: goto 112
StackMap locals:
StackMap stack:
57: aload 2
ldc "nocase"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 58
aload 2
ldc "NC"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 60
58: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setNocase:(Z)V
59: goto 112
StackMap locals:
StackMap stack:
60: aload 2
ldc "noescape"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 61
aload 2
ldc "NE"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 63
61: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setNoescape:(Z)V
62: goto 112
StackMap locals:
StackMap stack:
63: aload 2
ldc "next"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 64
aload 2
ldc "N"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 66
64: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setNext:(Z)V
65: goto 112
StackMap locals:
StackMap stack:
66: aload 2
ldc "qsappend"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 67
aload 2
ldc "QSA"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 69
67: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setQsappend:(Z)V
68: goto 112
StackMap locals:
StackMap stack:
69: aload 2
ldc "qsdiscard"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 70
aload 2
ldc "QSD"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 72
70: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setQsdiscard:(Z)V
71: goto 112
StackMap locals:
StackMap stack:
72: aload 2
ldc "redirect"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 73
aload 2
ldc "R"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 94
73: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setRedirect:(Z)V
74: sipush 302
istore 3
start local 3 75: aload 2
ldc "redirect="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 76
aload 2
ldc "R="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 92
76: StackMap locals: int
StackMap stack:
aload 2
ldc "redirect="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 79
77: aload 2
ldc "redirect="
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
78: goto 81
StackMap locals:
StackMap stack:
79: aload 2
ldc "R="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 81
80: aload 2
ldc "R="
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
81: StackMap locals:
StackMap stack:
aload 2
dup
astore 4
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
3556308: 82
668488878: 83
1000898205: 84
default: 91
}
StackMap locals: java.lang.String
StackMap stack:
82: aload 4
ldc "temp"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 85
goto 91
StackMap locals:
StackMap stack:
83: aload 4
ldc "permanent"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 87
goto 91
StackMap locals:
StackMap stack:
84: aload 4
ldc "seeother"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 89
goto 91
85: StackMap locals:
StackMap stack:
sipush 302
istore 3
86: goto 92
87: StackMap locals:
StackMap stack:
sipush 301
istore 3
88: goto 92
89: StackMap locals:
StackMap stack:
sipush 303
istore 3
90: goto 92
91: StackMap locals:
StackMap stack:
aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 3
92: StackMap locals:
StackMap stack:
aload 1
iload 3
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setRedirectCode:(I)V
end local 3 93: goto 112
StackMap locals:
StackMap stack:
94: aload 2
ldc "skip"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 95
aload 2
ldc "S"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 102
95: StackMap locals:
StackMap stack:
aload 2
ldc "skip="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 98
96: aload 2
ldc "skip="
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
97: goto 100
StackMap locals:
StackMap stack:
98: aload 2
ldc "S="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 100
99: aload 2
ldc "S="
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
100: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setSkip:(I)V
101: goto 112
StackMap locals:
StackMap stack:
102: aload 2
ldc "type"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 103
aload 2
ldc "T"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 111
103: StackMap locals:
StackMap stack:
aload 2
ldc "type="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 106
104: aload 2
ldc "type="
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
105: goto 108
StackMap locals:
StackMap stack:
106: aload 2
ldc "T="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 108
107: aload 2
ldc "T="
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
108: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setType:(Z)V
109: aload 1
aload 2
invokevirtual org.apache.catalina.valves.rewrite.RewriteRule.setTypeValue:(Ljava/lang/String;)V
110: goto 112
111: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.valves.rewrite.RewriteValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "rewriteValve.invalidFlags"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
112: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 113 0 line Ljava/lang/String;
0 113 1 rule Lorg/apache/catalina/valves/rewrite/RewriteRule;
0 113 2 flag Ljava/lang/String;
14 31 3 tokenizer Ljava/util/StringTokenizer;
24 25 4 e Ljava/lang/NumberFormatException;
40 44 3 pos I
75 93 3 redirectCode I
Exception table:
from to target type
21 22 23 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
line
rule
flag
}
SourceFile: "RewriteValve.java"
InnerClasses:
public Resource = org.apache.tomcat.util.file.ConfigurationSource$Resource of org.apache.tomcat.util.file.ConfigurationSource