public class org.apache.catalina.valves.CrawlerSessionManagerValve 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.CrawlerSessionManagerValve
super_class: org.apache.catalina.valves.ValveBase
{
private static final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.Map<java.lang.String, java.lang.String> clientIdSessionId;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private final java.util.Map<java.lang.String, java.lang.String> sessionIdClientId;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private java.lang.String crawlerUserAgents;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.regex.Pattern uaPattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0002) ACC_PRIVATE
private java.lang.String crawlerIps;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.regex.Pattern ipPattern;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0002) ACC_PRIVATE
private int sessionInactiveInterval;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean isHostAware;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isContextAware;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokespecial org.apache.catalina.valves.ValveBase.<init>:(Z)V
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.clientIdSessionId:Ljava/util/Map;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.sessionIdClientId:Ljava/util/Map;
3: aload 0
ldc ".*[bB]ot.*|.*Yahoo! Slurp.*|.*Feedfetcher-Google.*"
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.crawlerUserAgents:Ljava/lang/String;
4: aload 0
aconst_null
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.uaPattern:Ljava/util/regex/Pattern;
5: aload 0
aconst_null
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.crawlerIps:Ljava/lang/String;
6: aload 0
aconst_null
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.ipPattern:Ljava/util/regex/Pattern;
7: aload 0
bipush 60
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.sessionInactiveInterval:I
8: aload 0
iconst_1
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.isHostAware:Z
9: aload 0
iconst_1
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.isContextAware:Z
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
public void setCrawlerUserAgents(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.crawlerUserAgents:Ljava/lang/String;
1: aload 1
ifnull 2
aload 1
invokevirtual java.lang.String.length:()I
ifne 4
2: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.uaPattern:Ljava/util/regex/Pattern;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.uaPattern:Ljava/util/regex/Pattern;
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
0 6 1 crawlerUserAgents Ljava/lang/String;
MethodParameters:
Name Flags
crawlerUserAgents
public java.lang.String getCrawlerUserAgents();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.crawlerUserAgents:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
public void setCrawlerIps(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.crawlerIps:Ljava/lang/String;
1: aload 1
ifnull 2
aload 1
invokevirtual java.lang.String.length:()I
ifne 4
2: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.ipPattern:Ljava/util/regex/Pattern;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.ipPattern:Ljava/util/regex/Pattern;
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
0 6 1 crawlerIps Ljava/lang/String;
MethodParameters:
Name Flags
crawlerIps
public java.lang.String getCrawlerIps();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.crawlerIps:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
public void setSessionInactiveInterval(int);
descriptor: (I)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.CrawlerSessionManagerValve.sessionInactiveInterval:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
0 2 1 sessionInactiveInterval I
MethodParameters:
Name Flags
sessionInactiveInterval
public int getSessionInactiveInterval();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.sessionInactiveInterval:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
public java.util.Map<java.lang.String, java.lang.String> getClientIpSessionId();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.clientIdSessionId:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
public boolean isHostAware();
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.CrawlerSessionManagerValve.isHostAware:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
public void setHostAware(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.CrawlerSessionManagerValve.isHostAware:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
0 2 1 isHostAware Z
MethodParameters:
Name Flags
isHostAware
public boolean isContextAware();
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.CrawlerSessionManagerValve.isContextAware:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
public void setContextAware(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.CrawlerSessionManagerValve.isContextAware:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
0 2 1 isContextAware Z
MethodParameters:
Name Flags
isContextAware
protected void initInternal();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.valves.ValveBase.initInternal:()V
1: aload 0
aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.crawlerUserAgents:Ljava/lang/String;
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putfield org.apache.catalina.valves.CrawlerSessionManagerValve.uaPattern:Ljava/util/regex/Pattern;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
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=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 1
invokevirtual org.apache.catalina.connector.Request.getRemoteAddr:()Ljava/lang/String;
astore 5
start local 5 3: aload 0
aload 1
invokevirtual org.apache.catalina.connector.Request.getHost:()Lorg/apache/catalina/Host;
aload 1
invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
aload 5
invokevirtual org.apache.catalina.valves.CrawlerSessionManagerValve.getClientIdentifier:(Lorg/apache/catalina/Host;Lorg/apache/catalina/Context;Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 4: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 8
5: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": ClientIdentifier="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", RequestedSessionId="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 1
invokevirtual org.apache.catalina.connector.Request.getRequestedSessionId:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
8: StackMap locals: org.apache.catalina.valves.CrawlerSessionManagerValve org.apache.catalina.connector.Request org.apache.catalina.connector.Response int java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 1
iconst_0
invokevirtual org.apache.catalina.connector.Request.getSession:(Z)Ljakarta/servlet/http/HttpSession;
ifnonnull 30
9: aload 1
ldc "user-agent"
invokevirtual org.apache.catalina.connector.Request.getHeaders:(Ljava/lang/String;)Ljava/util/Enumeration;
astore 7
start local 7 10: aconst_null
astore 8
start local 8 11: aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifeq 13
12: aload 7
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
13: StackMap locals: java.util.Enumeration java.lang.String
StackMap stack:
aload 8
ifnull 20
aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 20
14: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 16
15: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": UserAgent="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
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
16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.uaPattern:Ljava/util/regex/Pattern;
aload 8
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 20
17: iconst_1
istore 3
18: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 20
19: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": Bot found. UserAgent="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
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
20: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.ipPattern:Ljava/util/regex/Pattern;
ifnull 24
aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.ipPattern:Ljava/util/regex/Pattern;
aload 5
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 24
21: iconst_1
istore 3
22: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 24
23: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": Bot found. IP="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
24: StackMap locals:
StackMap stack:
iload 3
ifeq 30
25: aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.clientIdSessionId:Ljava/util/Map;
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
26: aload 4
ifnull 30
27: aload 1
aload 4
invokevirtual org.apache.catalina.connector.Request.setRequestedSessionId:(Ljava/lang/String;)V
28: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 30
29: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": SessionID="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
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
end local 8 end local 7 30: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.valves.CrawlerSessionManagerValve.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
31: iload 3
ifeq 48
32: aload 4
ifnonnull 44
33: aload 1
iconst_0
invokevirtual org.apache.catalina.connector.Request.getSession:(Z)Ljakarta/servlet/http/HttpSession;
astore 7
start local 7 34: aload 7
ifnull 48
35: aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.clientIdSessionId:Ljava/util/Map;
aload 6
aload 7
invokeinterface jakarta.servlet.http.HttpSession.getId:()Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
36: aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.sessionIdClientId:Ljava/util/Map;
aload 7
invokeinterface jakarta.servlet.http.HttpSession.getId:()Ljava/lang/String;
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
37: aload 7
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
38: new org.apache.catalina.valves.CrawlerSessionManagerValve$CrawlerHttpSessionBindingListener
dup
aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.clientIdSessionId:Ljava/util/Map;
aload 6
invokespecial org.apache.catalina.valves.CrawlerSessionManagerValve$CrawlerHttpSessionBindingListener.<init>:(Ljava/util/Map;Ljava/lang/String;)V
39: invokeinterface jakarta.servlet.http.HttpSession.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
40: aload 7
aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.sessionInactiveInterval:I
invokeinterface jakarta.servlet.http.HttpSession.setMaxInactiveInterval:(I)V
41: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 48
42: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": New bot session. SessionID="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokeinterface jakarta.servlet.http.HttpSession.getId:()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
end local 7 43: goto 48
44: StackMap locals:
StackMap stack:
getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 48
45: getstatic org.apache.catalina.valves.CrawlerSessionManagerValve.log:Lorg/apache/juli/logging/Log;
46: new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": Bot session accessed. SessionID="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
47: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
48: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
0 49 1 request Lorg/apache/catalina/connector/Request;
0 49 2 response Lorg/apache/catalina/connector/Response;
1 49 3 isBot Z
2 49 4 sessionId Ljava/lang/String;
3 49 5 clientIp Ljava/lang/String;
4 49 6 clientIdentifier Ljava/lang/String;
10 30 7 uaHeaders Ljava/util/Enumeration<Ljava/lang/String;>;
11 30 8 uaHeader Ljava/lang/String;
34 43 7 s Ljakarta/servlet/http/HttpSession;
Exceptions:
throws java.io.IOException, jakarta.servlet.ServletException
MethodParameters:
Name Flags
request
response
private java.lang.String getClientIdentifier(org.apache.catalina.Host, org.apache.catalina.Context, java.lang.String);
descriptor: (Lorg/apache/catalina/Host;Lorg/apache/catalina/Context;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.StringBuilder
dup
aload 3
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 4
start local 4 1: aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.isHostAware:Z
ifeq 3
2: aload 4
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokeinterface org.apache.catalina.Host.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 0
getfield org.apache.catalina.valves.CrawlerSessionManagerValve.isContextAware:Z
ifeq 5
aload 2
ifnull 5
4: aload 4
aload 2
invokeinterface org.apache.catalina.Context.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/valves/CrawlerSessionManagerValve;
0 6 1 host Lorg/apache/catalina/Host;
0 6 2 context Lorg/apache/catalina/Context;
0 6 3 clientIp Ljava/lang/String;
1 6 4 result Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
host
context
clientIp
}
SourceFile: "CrawlerSessionManagerValve.java"
NestMembers:
org.apache.catalina.valves.CrawlerSessionManagerValve$CrawlerHttpSessionBindingListener
InnerClasses:
private CrawlerHttpSessionBindingListener = org.apache.catalina.valves.CrawlerSessionManagerValve$CrawlerHttpSessionBindingListener of org.apache.catalina.valves.CrawlerSessionManagerValve