public class org.apache.catalina.servlets.WebdavServlet extends org.apache.catalina.servlets.DefaultServlet
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.servlets.WebdavServlet
super_class: org.apache.catalina.servlets.DefaultServlet
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final org.apache.catalina.util.URLEncoder URL_ENCODER_XML;
descriptor: Lorg/apache/catalina/util/URLEncoder;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String METHOD_PROPFIND;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PROPFIND"
private static final java.lang.String METHOD_PROPPATCH;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PROPPATCH"
private static final java.lang.String METHOD_MKCOL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "MKCOL"
private static final java.lang.String METHOD_COPY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "COPY"
private static final java.lang.String METHOD_MOVE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "MOVE"
private static final java.lang.String METHOD_LOCK;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "LOCK"
private static final java.lang.String METHOD_UNLOCK;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "UNLOCK"
private static final int FIND_BY_PROPERTY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int FIND_ALL_PROP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int FIND_PROPERTY_NAMES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int LOCK_CREATION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int LOCK_REFRESH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int DEFAULT_TIMEOUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3600
private static final int MAX_TIMEOUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 604800
protected static final java.lang.String DEFAULT_NAMESPACE;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "DAV:"
protected static final org.apache.tomcat.util.http.ConcurrentDateFormat creationDateFormat;
descriptor: Lorg/apache/tomcat/util/http/ConcurrentDateFormat;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
private final java.util.Hashtable<java.lang.String, org.apache.catalina.servlets.WebdavServlet$LockInfo> resourceLocks;
descriptor: Ljava/util/Hashtable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Hashtable<Ljava/lang/String;Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;>;
private final java.util.Hashtable<java.lang.String, java.util.Vector<java.lang.String>> lockNullResources;
descriptor: Ljava/util/Hashtable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/util/Vector<Ljava/lang/String;>;>;
private final java.util.Vector<org.apache.catalina.servlets.WebdavServlet$LockInfo> collectionLocks;
descriptor: Ljava/util/Vector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Vector<Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;>;
private java.lang.String secret;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int maxDepth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean allowSpecialPaths;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: getstatic org.apache.catalina.util.URLEncoder.DEFAULT:Lorg/apache/catalina/util/URLEncoder;
invokevirtual org.apache.catalina.util.URLEncoder.clone:()Ljava/lang/Object;
checkcast org.apache.catalina.util.URLEncoder
putstatic org.apache.catalina.servlets.WebdavServlet.URL_ENCODER_XML:Lorg/apache/catalina/util/URLEncoder;
1: getstatic org.apache.catalina.servlets.WebdavServlet.URL_ENCODER_XML:Lorg/apache/catalina/util/URLEncoder;
bipush 38
invokevirtual org.apache.catalina.util.URLEncoder.removeSafeCharacter:(C)V
2: new org.apache.tomcat.util.http.ConcurrentDateFormat
dup
ldc "yyyy-MM-dd'T'HH:mm:ss'Z'"
getstatic java.util.Locale.US:Ljava/util/Locale;
3: ldc "GMT"
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
4: invokespecial org.apache.tomcat.util.http.ConcurrentDateFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;Ljava/util/TimeZone;)V
5: putstatic org.apache.catalina.servlets.WebdavServlet.creationDateFormat:Lorg/apache/tomcat/util/http/ConcurrentDateFormat;
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.servlets.DefaultServlet.<init>:()V
1: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
2: aload 0
3: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.apache.catalina.servlets.WebdavServlet.lockNullResources:Ljava/util/Hashtable;
4: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield org.apache.catalina.servlets.WebdavServlet.collectionLocks:Ljava/util/Vector;
5: aload 0
ldc "catalina"
putfield org.apache.catalina.servlets.WebdavServlet.secret:Ljava/lang/String;
6: aload 0
iconst_3
putfield org.apache.catalina.servlets.WebdavServlet.maxDepth:I
7: aload 0
iconst_0
putfield org.apache.catalina.servlets.WebdavServlet.allowSpecialPaths:Z
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/catalina/servlets/WebdavServlet;
public void init();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.servlets.DefaultServlet.init:()V
1: aload 0
invokevirtual org.apache.catalina.servlets.WebdavServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "secret"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
ifnull 3
2: aload 0
aload 0
invokevirtual org.apache.catalina.servlets.WebdavServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "secret"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
putfield org.apache.catalina.servlets.WebdavServlet.secret:Ljava/lang/String;
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.servlets.WebdavServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "maxDepth"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
ifnull 7
4: aload 0
5: aload 0
invokevirtual org.apache.catalina.servlets.WebdavServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "maxDepth"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
6: invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield org.apache.catalina.servlets.WebdavServlet.maxDepth:I
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.servlets.WebdavServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "allowSpecialPaths"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
ifnull 11
8: aload 0
9: aload 0
invokevirtual org.apache.catalina.servlets.WebdavServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
ldc "allowSpecialPaths"
invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
10: invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
putfield org.apache.catalina.servlets.WebdavServlet.allowSpecialPaths:Z
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/catalina/servlets/WebdavServlet;
Exceptions:
throws jakarta.servlet.ServletException
protected javax.xml.parsers.DocumentBuilder getDocumentBuilder();
descriptor: ()Ljavax/xml/parsers/DocumentBuilder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: invokestatic javax.xml.parsers.DocumentBuilderFactory.newInstance:()Ljavax/xml/parsers/DocumentBuilderFactory;
astore 2
3: aload 2
iconst_1
invokevirtual javax.xml.parsers.DocumentBuilderFactory.setNamespaceAware:(Z)V
4: aload 2
iconst_0
invokevirtual javax.xml.parsers.DocumentBuilderFactory.setExpandEntityReferences:(Z)V
5: aload 2
invokevirtual javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:()Ljavax/xml/parsers/DocumentBuilder;
astore 1
6: aload 1
7: new org.apache.catalina.servlets.WebdavServlet$WebdavResolver
dup
aload 0
invokevirtual org.apache.catalina.servlets.WebdavServlet.getServletContext:()Ljakarta/servlet/ServletContext;
invokespecial org.apache.catalina.servlets.WebdavServlet$WebdavResolver.<init>:(Ljakarta/servlet/ServletContext;)V
8: invokevirtual javax.xml.parsers.DocumentBuilder.setEntityResolver:(Lorg/xml/sax/EntityResolver;)V
9: goto 14
StackMap locals: org.apache.catalina.servlets.WebdavServlet javax.xml.parsers.DocumentBuilder javax.xml.parsers.DocumentBuilderFactory
StackMap stack: javax.xml.parsers.ParserConfigurationException
10: pop
11: new jakarta.servlet.ServletException
dup
12: getstatic org.apache.catalina.servlets.WebdavServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "webdavservlet.jaxpfailed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
13: invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/catalina/servlets/WebdavServlet;
1 15 1 documentBuilder Ljavax/xml/parsers/DocumentBuilder;
2 15 2 documentBuilderFactory Ljavax/xml/parsers/DocumentBuilderFactory;
Exception table:
from to target type
2 9 10 Class javax.xml.parsers.ParserConfigurationException
Exceptions:
throws jakarta.servlet.ServletException
protected void service(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 3
start local 3 1: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getDispatcherType:()Ljakarta/servlet/DispatcherType;
getstatic jakarta.servlet.DispatcherType.ERROR:Ljakarta/servlet/DispatcherType;
if_acmpne 4
2: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.doGet:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
3: return
4: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 3
invokevirtual org.apache.catalina.servlets.WebdavServlet.isSpecialPath:(Ljava/lang/String;)Z
ifeq 7
5: aload 2
sipush 404
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
6: return
7: StackMap locals:
StackMap stack:
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getMethod:()Ljava/lang/String;
astore 4
start local 4 8: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.debug:I
ifle 10
9: aload 0
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.catalina.servlets.WebdavServlet.log:(Ljava/lang/String;)V
10: StackMap locals: java.lang.String
StackMap stack:
aload 4
ldc "PROPFIND"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.doPropfind:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
12: goto 32
StackMap locals:
StackMap stack:
13: aload 4
ldc "PROPPATCH"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
14: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.doProppatch:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
15: goto 32
StackMap locals:
StackMap stack:
16: aload 4
ldc "MKCOL"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
17: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.doMkcol:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
18: goto 32
StackMap locals:
StackMap stack:
19: aload 4
ldc "COPY"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
20: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.doCopy:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
21: goto 32
StackMap locals:
StackMap stack:
22: aload 4
ldc "MOVE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
23: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.doMove:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
24: goto 32
StackMap locals:
StackMap stack:
25: aload 4
ldc "LOCK"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 28
26: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.doLock:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
27: goto 32
StackMap locals:
StackMap stack:
28: aload 4
ldc "UNLOCK"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
29: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.doUnlock:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
30: goto 32
31: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial org.apache.catalina.servlets.DefaultServlet.service:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
32: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 33 1 req Ljakarta/servlet/http/HttpServletRequest;
0 33 2 resp Ljakarta/servlet/http/HttpServletResponse;
1 33 3 path Ljava/lang/String;
8 33 4 method Ljava/lang/String;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
private final boolean isSpecialPath(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.allowSpecialPaths:Z
ifne 4
1: aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
ldc "/WEB-INF"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 3
2: aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
ldc "/META-INF"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 5 1 path Ljava/lang/String;
MethodParameters:
Name Flags
path final
protected boolean (jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, org.apache.catalina.WebResource);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial org.apache.catalina.servlets.DefaultServlet.checkIfHeaders:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 3 1 request Ljakarta/servlet/http/HttpServletRequest;
0 3 2 response Ljakarta/servlet/http/HttpServletResponse;
0 3 3 resource Lorg/apache/catalina/WebResource;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
request
response
resource
protected java.lang.String rewriteUrl(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.apache.catalina.servlets.WebdavServlet.URL_ENCODER_XML:Lorg/apache/catalina/util/URLEncoder;
aload 1
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual org.apache.catalina.util.URLEncoder.encode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 1 1 path Ljava/lang/String;
MethodParameters:
Name Flags
path
protected java.lang.String getRelativePath(jakarta.servlet.http.HttpServletRequest);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;Z)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 1 1 request Ljakarta/servlet/http/HttpServletRequest;
MethodParameters:
Name Flags
request
protected java.lang.String getRelativePath(jakarta.servlet.http.HttpServletRequest, boolean);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Z)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "jakarta.servlet.include.request_uri"
invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 3
1: aload 1
ldc "jakarta.servlet.include.path_info"
invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 2: goto 4
end local 3 3: StackMap locals:
StackMap stack:
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getPathInfo:()Ljava/lang/String;
astore 3
start local 3 4: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 5: aload 3
ifnull 7
6: aload 4
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 4
invokevirtual java.lang.StringBuilder.length:()I
ifne 9
8: aload 4
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: 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 10 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 10 1 request Ljakarta/servlet/http/HttpServletRequest;
0 10 2 allowEmptyPath Z
2 3 3 pathInfo Ljava/lang/String;
4 10 3 pathInfo Ljava/lang/String;
5 10 4 result Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
request
allowEmptyPath
protected java.lang.String getPathPrefix(jakarta.servlet.http.HttpServletRequest);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
ifnull 3
2: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 4 1 request Ljakarta/servlet/http/HttpServletRequest;
1 4 2 contextPath Ljava/lang/String;
MethodParameters:
Name Flags
request final
protected void doOptions(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc "DAV"
ldc "1,2"
invokeinterface jakarta.servlet.http.HttpServletResponse.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
1: aload 2
ldc "Allow"
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.determineMethodsAllowed:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
invokeinterface jakarta.servlet.http.HttpServletResponse.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
2: aload 2
ldc "MS-Author-Via"
ldc "DAV"
invokeinterface jakarta.servlet.http.HttpServletResponse.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 4 1 req Ljakarta/servlet/http/HttpServletRequest;
0 4 2 resp Ljakarta/servlet/http/HttpServletResponse;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doPropfind(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=20, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.listings:Z
ifne 3
1: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.sendNotAllowed:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 3
start local 3 4: aload 3
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 6
aload 3
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 6
5: aload 3
iconst_0
aload 3
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
6: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 4
start local 4 7: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.maxDepth:I
istore 5
start local 5 8: iconst_1
istore 6
start local 6 9: aload 1
ldc "Depth"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 10: aload 7
ifnonnull 13
11: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.maxDepth:I
istore 5
12: goto 21
13: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String java.util.Vector int int java.lang.String
StackMap stack:
aload 7
ldc "0"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
14: iconst_0
istore 5
15: goto 21
StackMap locals:
StackMap stack:
16: aload 7
ldc "1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
17: iconst_1
istore 5
18: goto 21
StackMap locals:
StackMap stack:
19: aload 7
ldc "infinity"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
20: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.maxDepth:I
istore 5
21: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 22: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getContentLengthLong:()J
lconst_0
lcmp
ifle 50
23: aload 0
invokevirtual org.apache.catalina.servlets.WebdavServlet.getDocumentBuilder:()Ljavax/xml/parsers/DocumentBuilder;
astore 9
start local 9 24: aload 9
25: new org.xml.sax.InputSource
dup
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getInputStream:()Ljakarta/servlet/ServletInputStream;
invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/InputStream;)V
26: invokevirtual javax.xml.parsers.DocumentBuilder.parse:(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;
astore 10
start local 10 27: aload 10
invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
astore 11
start local 11 28: aload 11
invokeinterface org.w3c.dom.Element.getChildNodes:()Lorg/w3c/dom/NodeList;
astore 12
start local 12 29: iconst_0
istore 13
start local 13 30: goto 42
31: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String java.util.Vector int int java.lang.String org.w3c.dom.Node javax.xml.parsers.DocumentBuilder org.w3c.dom.Document org.w3c.dom.Element org.w3c.dom.NodeList int
StackMap stack:
aload 12
iload 13
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
astore 14
start local 14 32: aload 14
invokeinterface org.w3c.dom.Node.getNodeType:()S
tableswitch { // 1 - 3
1: 34
2: 41
3: 33
default: 41
}
33: StackMap locals: org.w3c.dom.Node
StackMap stack:
goto 41
34: StackMap locals:
StackMap stack:
aload 14
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
ldc "prop"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 37
35: iconst_0
istore 6
36: aload 14
astore 8
37: StackMap locals:
StackMap stack:
aload 14
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
ldc "propname"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 39
38: iconst_2
istore 6
39: StackMap locals:
StackMap stack:
aload 14
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
ldc "allprop"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 41
40: iconst_1
istore 6
end local 14 41: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
42: iload 13
aload 12
invokeinterface org.w3c.dom.NodeList.getLength:()I
if_icmplt 31
end local 13 end local 12 end local 11 end local 10 43: goto 50
StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String java.util.Vector int int java.lang.String org.w3c.dom.Node javax.xml.parsers.DocumentBuilder
StackMap stack: org.xml.sax.SAXException
44: pop
45: aload 2
sipush 400
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
46: return
47: StackMap locals:
StackMap stack: java.io.IOException
pop
48: aload 2
sipush 400
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
49: return
end local 9 50: StackMap locals:
StackMap stack:
iload 6
ifne 69
51: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 4
52: aload 8
invokeinterface org.w3c.dom.Node.getChildNodes:()Lorg/w3c/dom/NodeList;
astore 9
start local 9 53: iconst_0
istore 10
start local 10 54: goto 68
55: StackMap locals: org.w3c.dom.NodeList int
StackMap stack:
aload 9
iload 10
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
astore 11
start local 11 56: aload 11
invokeinterface org.w3c.dom.Node.getNodeType:()S
tableswitch { // 1 - 3
1: 58
2: 67
3: 57
default: 67
}
57: StackMap locals: org.w3c.dom.Node
StackMap stack:
goto 67
58: StackMap locals:
StackMap stack:
aload 11
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
astore 12
start local 12 59: aconst_null
astore 13
start local 13 60: aload 12
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 65
61: aload 12
62: aload 12
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
iadd
63: invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 13
64: goto 66
65: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 12
astore 13
66: StackMap locals:
StackMap stack:
aload 4
aload 13
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 13 end local 12 end local 11 67: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
68: iload 10
aload 9
invokeinterface org.w3c.dom.NodeList.getLength:()I
if_icmplt 55
end local 10 end local 9 69: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 3
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 9
start local 9 70: aload 9
invokeinterface org.apache.catalina.WebResource.exists:()Z
ifne 101
71: aload 3
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 10
start local 10 72: iload 10
iconst_m1
if_icmpeq 101
73: aload 3
iconst_0
iload 10
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 11
start local 11 74: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.lockNullResources:Ljava/util/Hashtable;
aload 11
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Vector
75: astore 12
start local 12 76: aload 12
ifnull 101
77: aload 12
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
78: astore 13
start local 13 79: goto 100
80: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String java.util.Vector int int java.lang.String org.w3c.dom.Node org.apache.catalina.WebResource int java.lang.String java.util.Vector java.util.Enumeration
StackMap stack:
aload 13
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
81: astore 14
start local 14 82: aload 14
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 100
83: aload 2
sipush 207
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
84: aload 2
ldc "text/xml; charset=UTF-8"
invokeinterface jakarta.servlet.http.HttpServletResponse.setContentType:(Ljava/lang/String;)V
85: new org.apache.catalina.util.XMLWriter
dup
aload 2
invokeinterface jakarta.servlet.http.HttpServletResponse.getWriter:()Ljava/io/PrintWriter;
invokespecial org.apache.catalina.util.XMLWriter.<init>:(Ljava/io/Writer;)V
86: astore 15
start local 15 87: aload 15
invokevirtual org.apache.catalina.util.XMLWriter.writeXMLHeader:()V
88: aload 15
ldc "D"
ldc "DAV:"
89: ldc "multistatus"
iconst_0
90: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
91: aload 0
92: aload 1
aload 15
aload 14
iload 6
93: aload 4
94: invokevirtual org.apache.catalina.servlets.WebdavServlet.parseLockNullProperties:(Ljakarta/servlet/http/HttpServletRequest;Lorg/apache/catalina/util/XMLWriter;Ljava/lang/String;ILjava/util/Vector;)V
95: aload 15
ldc "D"
ldc "multistatus"
96: iconst_1
97: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
98: aload 15
invokevirtual org.apache.catalina.util.XMLWriter.sendData:()V
99: return
end local 15 end local 14 100: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 80
end local 13 end local 12 end local 11 end local 10 101: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String java.util.Vector int int java.lang.String org.w3c.dom.Node org.apache.catalina.WebResource
StackMap stack:
aload 9
invokeinterface org.apache.catalina.WebResource.exists:()Z
ifne 104
102: aload 2
sipush 404
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
103: return
104: StackMap locals:
StackMap stack:
aload 2
sipush 207
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
105: aload 2
ldc "text/xml; charset=UTF-8"
invokeinterface jakarta.servlet.http.HttpServletResponse.setContentType:(Ljava/lang/String;)V
106: new org.apache.catalina.util.XMLWriter
dup
aload 2
invokeinterface jakarta.servlet.http.HttpServletResponse.getWriter:()Ljava/io/PrintWriter;
invokespecial org.apache.catalina.util.XMLWriter.<init>:(Ljava/io/Writer;)V
astore 10
start local 10 107: aload 10
invokevirtual org.apache.catalina.util.XMLWriter.writeXMLHeader:()V
108: aload 10
ldc "D"
ldc "DAV:"
ldc "multistatus"
109: iconst_0
110: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
111: iload 5
ifne 116
112: aload 0
aload 1
aload 10
aload 3
iload 6
113: aload 4
114: invokevirtual org.apache.catalina.servlets.WebdavServlet.parseProperties:(Ljakarta/servlet/http/HttpServletRequest;Lorg/apache/catalina/util/XMLWriter;Ljava/lang/String;ILjava/util/Vector;)V
115: goto 159
116: StackMap locals: org.apache.catalina.util.XMLWriter
StackMap stack:
new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
astore 11
start local 11 117: aload 11
aload 3
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
118: new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
astore 12
start local 12 119: goto 158
120: StackMap locals: java.util.Stack java.util.Stack
StackMap stack:
aload 11
invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
checkcast java.lang.String
astore 13
start local 13 121: aload 0
aload 1
aload 10
aload 13
122: iload 6
aload 4
123: invokevirtual org.apache.catalina.servlets.WebdavServlet.parseProperties:(Ljakarta/servlet/http/HttpServletRequest;Lorg/apache/catalina/util/XMLWriter;Ljava/lang/String;ILjava/util/Vector;)V
124: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 13
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 9
125: aload 9
invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
ifeq 153
iload 5
ifle 153
126: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 13
invokeinterface org.apache.catalina.WebResourceRoot.list:(Ljava/lang/String;)[Ljava/lang/String;
astore 14
start local 14 127: aload 14
dup
astore 18
arraylength
istore 17
iconst_0
istore 16
goto 135
StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String java.util.Vector int int java.lang.String org.w3c.dom.Node org.apache.catalina.WebResource org.apache.catalina.util.XMLWriter java.util.Stack java.util.Stack java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
128: aload 18
iload 16
aaload
astore 15
start local 15 129: aload 13
astore 19
start local 19 130: aload 19
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 132
131: new java.lang.StringBuilder
dup
aload 19
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 19
132: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String java.util.Vector int int java.lang.String org.w3c.dom.Node org.apache.catalina.WebResource org.apache.catalina.util.XMLWriter java.util.Stack java.util.Stack java.lang.String java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 19
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 19
133: aload 12
aload 19
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 19 end local 15 134: iinc 16 1
StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String java.util.Vector int int java.lang.String org.w3c.dom.Node org.apache.catalina.WebResource org.apache.catalina.util.XMLWriter java.util.Stack java.util.Stack java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
135: iload 16
iload 17
if_icmplt 128
136: aload 13
astore 15
start local 15 137: aload 15
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 140
138: aload 15
iconst_0
aload 15
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
139: astore 15
140: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String java.util.Vector int int java.lang.String org.w3c.dom.Node org.apache.catalina.WebResource org.apache.catalina.util.XMLWriter java.util.Stack java.util.Stack java.lang.String java.lang.String[] java.lang.String
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.lockNullResources:Ljava/util/Hashtable;
aload 15
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Vector
141: astore 16
start local 16 142: aload 16
ifnull 153
143: aload 16
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
144: astore 17
start local 17 145: goto 152
146: StackMap locals: java.util.Vector java.util.Enumeration
StackMap stack:
aload 17
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
147: astore 18
start local 18 148: aload 0
149: aload 1
aload 10
aload 18
iload 6
150: aload 4
151: invokevirtual org.apache.catalina.servlets.WebdavServlet.parseLockNullProperties:(Ljakarta/servlet/http/HttpServletRequest;Lorg/apache/catalina/util/XMLWriter;Ljava/lang/String;ILjava/util/Vector;)V
end local 18 152: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 146
end local 17 end local 16 end local 15 end local 14 153: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String java.util.Vector int int java.lang.String org.w3c.dom.Node org.apache.catalina.WebResource org.apache.catalina.util.XMLWriter java.util.Stack java.util.Stack java.lang.String
StackMap stack:
aload 11
invokevirtual java.util.Stack.isEmpty:()Z
ifeq 157
154: iinc 5 -1
155: aload 12
astore 11
156: new java.util.Stack
dup
invokespecial java.util.Stack.<init>:()V
astore 12
157: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.apache.catalina.util.XMLWriter.sendData:()V
end local 13 158: StackMap locals:
StackMap stack:
aload 11
invokevirtual java.util.Stack.isEmpty:()Z
ifne 159
iload 5
ifge 120
end local 12 end local 11 159: StackMap locals:
StackMap stack:
aload 10
ldc "D"
ldc "multistatus"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
160: aload 10
invokevirtual org.apache.catalina.util.XMLWriter.sendData:()V
161: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 162 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 162 1 req Ljakarta/servlet/http/HttpServletRequest;
0 162 2 resp Ljakarta/servlet/http/HttpServletResponse;
4 162 3 path Ljava/lang/String;
7 162 4 properties Ljava/util/Vector<Ljava/lang/String;>;
8 162 5 depth I
9 162 6 type I
10 162 7 depthStr Ljava/lang/String;
22 162 8 propNode Lorg/w3c/dom/Node;
24 50 9 documentBuilder Ljavax/xml/parsers/DocumentBuilder;
27 43 10 document Lorg/w3c/dom/Document;
28 43 11 rootElement Lorg/w3c/dom/Element;
29 43 12 childList Lorg/w3c/dom/NodeList;
30 43 13 i I
32 41 14 currentNode Lorg/w3c/dom/Node;
53 69 9 childList Lorg/w3c/dom/NodeList;
54 69 10 i I
56 67 11 currentNode Lorg/w3c/dom/Node;
59 67 12 nodeName Ljava/lang/String;
60 67 13 propertyName Ljava/lang/String;
70 162 9 resource Lorg/apache/catalina/WebResource;
72 101 10 slash I
74 101 11 parentPath Ljava/lang/String;
76 101 12 currentLockNullResources Ljava/util/Vector<Ljava/lang/String;>;
79 101 13 lockNullResourcesList Ljava/util/Enumeration<Ljava/lang/String;>;
82 100 14 lockNullPath Ljava/lang/String;
87 100 15 generatedXML Lorg/apache/catalina/util/XMLWriter;
107 162 10 generatedXML Lorg/apache/catalina/util/XMLWriter;
117 159 11 stack Ljava/util/Stack<Ljava/lang/String;>;
119 159 12 stackBelow Ljava/util/Stack<Ljava/lang/String;>;
121 158 13 currentPath Ljava/lang/String;
127 153 14 entries [Ljava/lang/String;
129 134 15 entry Ljava/lang/String;
130 134 19 newPath Ljava/lang/String;
137 153 15 lockPath Ljava/lang/String;
142 153 16 currentLockNullResources Ljava/util/Vector<Ljava/lang/String;>;
145 153 17 lockNullResourcesList Ljava/util/Enumeration<Ljava/lang/String;>;
148 152 18 lockNullPath Ljava/lang/String;
Exception table:
from to target type
24 43 44 Class org.xml.sax.SAXException
24 43 47 Class java.io.IOException
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doProppatch(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.readOnly:Z
ifeq 3
1: aload 2
sipush 403
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.isLocked:(Ljakarta/servlet/http/HttpServletRequest;)Z
ifeq 6
4: aload 2
sipush 423
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
5: return
6: StackMap locals:
StackMap stack:
aload 2
sipush 501
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 8 1 req Ljakarta/servlet/http/HttpServletRequest;
0 8 2 resp Ljakarta/servlet/http/HttpServletResponse;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doMkcol(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 3
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 4
start local 4 2: aload 4
invokeinterface org.apache.catalina.WebResource.exists:()Z
ifeq 5
3: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.sendNotAllowed:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
4: return
5: StackMap locals: java.lang.String org.apache.catalina.WebResource
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.readOnly:Z
ifeq 8
6: aload 2
sipush 403
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
7: return
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.isLocked:(Ljakarta/servlet/http/HttpServletRequest;)Z
ifeq 11
9: aload 2
sipush 423
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
10: return
11: StackMap locals:
StackMap stack:
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getContentLengthLong:()J
lconst_0
lcmp
ifle 19
12: aload 0
invokevirtual org.apache.catalina.servlets.WebdavServlet.getDocumentBuilder:()Ljavax/xml/parsers/DocumentBuilder;
astore 5
start local 5 13: aload 5
new org.xml.sax.InputSource
dup
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getInputStream:()Ljakarta/servlet/ServletInputStream;
invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/InputStream;)V
invokevirtual javax.xml.parsers.DocumentBuilder.parse:(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;
pop
14: aload 2
sipush 501
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
15: return
16: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String org.apache.catalina.WebResource javax.xml.parsers.DocumentBuilder
StackMap stack: org.xml.sax.SAXException
pop
17: aload 2
sipush 415
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
18: return
end local 5 19: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 3
invokeinterface org.apache.catalina.WebResourceRoot.mkdir:(Ljava/lang/String;)Z
ifeq 23
20: aload 2
sipush 201
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
21: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.lockNullResources:Ljava/util/Hashtable;
aload 3
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
22: goto 24
23: StackMap locals:
StackMap stack:
aload 2
sipush 409
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
24: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 25 1 req Ljakarta/servlet/http/HttpServletRequest;
0 25 2 resp Ljakarta/servlet/http/HttpServletResponse;
1 25 3 path Ljava/lang/String;
2 25 4 resource Lorg/apache/catalina/WebResource;
13 19 5 documentBuilder Ljavax/xml/parsers/DocumentBuilder;
Exception table:
from to target type
13 15 16 Class org.xml.sax.SAXException
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doDelete(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.readOnly:Z
ifeq 3
1: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.sendNotAllowed:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.isLocked:(Ljakarta/servlet/http/HttpServletRequest;)Z
ifeq 6
4: aload 2
sipush 423
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
5: return
6: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.deleteResource:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)Z
pop
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 8 1 req Ljakarta/servlet/http/HttpServletRequest;
0 8 2 resp Ljakarta/servlet/http/HttpServletResponse;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doPut(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.isLocked:(Ljakarta/servlet/http/HttpServletRequest;)Z
ifeq 3
1: aload 2
sipush 423
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 3
start local 3 4: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 3
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 4
start local 4 5: aload 4
invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
ifeq 8
6: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.sendNotAllowed:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
7: return
8: StackMap locals: java.lang.String org.apache.catalina.WebResource
StackMap stack:
aload 0
aload 1
aload 2
invokespecial org.apache.catalina.servlets.DefaultServlet.doPut:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
9: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.lockNullResources:Ljava/util/Hashtable;
aload 3
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 11 1 req Ljakarta/servlet/http/HttpServletRequest;
0 11 2 resp Ljakarta/servlet/http/HttpServletResponse;
4 11 3 path Ljava/lang/String;
5 11 4 resource Lorg/apache/catalina/WebResource;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doCopy(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.readOnly:Z
ifeq 3
1: aload 2
sipush 403
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.copyResource:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)Z
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 5 1 req Ljakarta/servlet/http/HttpServletRequest;
0 5 2 resp Ljakarta/servlet/http/HttpServletResponse;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doMove(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.readOnly:Z
ifeq 3
1: aload 2
sipush 403
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.isLocked:(Ljakarta/servlet/http/HttpServletRequest;)Z
ifeq 6
4: aload 2
sipush 423
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
5: return
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 3
start local 3 7: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.copyResource:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)Z
ifeq 9
8: aload 0
aload 3
aload 1
aload 2
iconst_0
invokevirtual org.apache.catalina.servlets.WebdavServlet.deleteResource:(Ljava/lang/String;Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Z)Z
pop
9: StackMap locals: java.lang.String
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 10 1 req Ljakarta/servlet/http/HttpServletRequest;
0 10 2 resp Ljakarta/servlet/http/HttpServletResponse;
7 10 3 path Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doLock(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=19, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.readOnly:Z
ifeq 3
1: aload 2
sipush 403
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.isLocked:(Ljakarta/servlet/http/HttpServletRequest;)Z
ifeq 6
4: aload 2
sipush 423
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
5: return
6: StackMap locals:
StackMap stack:
new org.apache.catalina.servlets.WebdavServlet$LockInfo
dup
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.maxDepth:I
invokespecial org.apache.catalina.servlets.WebdavServlet$LockInfo.<init>:(I)V
astore 3
start local 3 7: aload 1
ldc "Depth"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 8: aload 4
ifnonnull 11
9: aload 3
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.maxDepth:I
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.depth:I
10: goto 15
11: StackMap locals: org.apache.catalina.servlets.WebdavServlet$LockInfo java.lang.String
StackMap stack:
aload 4
ldc "0"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 3
iconst_0
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.depth:I
13: goto 15
14: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.maxDepth:I
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.depth:I
15: StackMap locals:
StackMap stack:
sipush 3600
istore 5
start local 5 16: aload 1
ldc "Timeout"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 17: aload 6
ifnonnull 20
18: sipush 3600
istore 5
19: goto 37
20: StackMap locals: int java.lang.String
StackMap stack:
aload 6
bipush 44
invokevirtual java.lang.String.indexOf:(I)I
istore 7
start local 7 21: iload 7
iconst_m1
if_icmpeq 23
22: aload 6
iconst_0
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
23: StackMap locals: int
StackMap stack:
aload 6
ldc "Second-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 26
24: aload 6
bipush 7
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 5
25: goto 33
26: StackMap locals:
StackMap stack:
aload 6
ldc "infinity"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 29
27: ldc 604800
istore 5
28: goto 33
29: StackMap locals:
StackMap stack:
aload 6
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 5
30: goto 33
StackMap locals:
StackMap stack: java.lang.NumberFormatException
31: pop
32: ldc 604800
istore 5
33: StackMap locals:
StackMap stack:
iload 5
ifne 35
34: sipush 3600
istore 5
35: StackMap locals:
StackMap stack:
iload 5
ldc 604800
if_icmple 37
36: ldc 604800
istore 5
end local 7 37: StackMap locals:
StackMap stack:
aload 3
invokestatic java.lang.System.currentTimeMillis:()J
iload 5
sipush 1000
imul
i2l
ladd
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.expiresAt:J
38: iconst_0
istore 7
start local 7 39: aconst_null
astore 8
start local 8 40: aload 0
invokevirtual org.apache.catalina.servlets.WebdavServlet.getDocumentBuilder:()Ljavax/xml/parsers/DocumentBuilder;
astore 9
start local 9 41: aload 9
new org.xml.sax.InputSource
dup
42: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getInputStream:()Ljakarta/servlet/ServletInputStream;
invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/InputStream;)V
43: invokevirtual javax.xml.parsers.DocumentBuilder.parse:(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;
astore 10
start local 10 44: aload 10
invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
astore 11
start local 11 45: aload 11
astore 8
end local 11 end local 10 46: goto 51
StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.servlets.WebdavServlet$LockInfo java.lang.String int java.lang.String int org.w3c.dom.Node javax.xml.parsers.DocumentBuilder
StackMap stack: java.io.IOException
47: pop
48: iconst_1
istore 7
goto 51
49: StackMap locals:
StackMap stack: org.xml.sax.SAXException
pop
50: iconst_1
istore 7
51: StackMap locals:
StackMap stack:
aload 8
ifnull 130
52: aload 8
invokeinterface org.w3c.dom.Node.getChildNodes:()Lorg/w3c/dom/NodeList;
astore 10
start local 10 53: aconst_null
astore 11
start local 11 54: aconst_null
astore 12
start local 12 55: aconst_null
astore 13
start local 13 56: aconst_null
astore 14
start local 14 57: aconst_null
astore 15
start local 15 58: iconst_0
istore 16
start local 16 59: goto 71
60: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.servlets.WebdavServlet$LockInfo java.lang.String int java.lang.String int org.w3c.dom.Node javax.xml.parsers.DocumentBuilder org.w3c.dom.NodeList java.io.StringWriter org.apache.catalina.util.DOMWriter org.w3c.dom.Node org.w3c.dom.Node org.w3c.dom.Node int
StackMap stack:
aload 10
iload 16
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
astore 17
start local 17 61: aload 17
invokeinterface org.w3c.dom.Node.getNodeType:()S
tableswitch { // 1 - 3
1: 63
2: 70
3: 62
default: 70
}
62: StackMap locals: org.w3c.dom.Node
StackMap stack:
goto 70
63: StackMap locals:
StackMap stack:
aload 17
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
astore 18
start local 18 64: aload 18
ldc "lockscope"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 66
65: aload 17
astore 13
66: StackMap locals: java.lang.String
StackMap stack:
aload 18
ldc "locktype"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 68
67: aload 17
astore 14
68: StackMap locals:
StackMap stack:
aload 18
ldc "owner"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 70
69: aload 17
astore 15
end local 18 end local 17 70: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
71: iload 16
aload 10
invokeinterface org.w3c.dom.NodeList.getLength:()I
if_icmplt 60
end local 16 72: aload 13
ifnull 91
73: aload 13
invokeinterface org.w3c.dom.Node.getChildNodes:()Lorg/w3c/dom/NodeList;
astore 10
74: iconst_0
istore 16
start local 16 75: goto 87
76: StackMap locals:
StackMap stack:
aload 10
iload 16
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
astore 17
start local 17 77: aload 17
invokeinterface org.w3c.dom.Node.getNodeType:()S
tableswitch { // 1 - 3
1: 79
2: 86
3: 78
default: 86
}
78: StackMap locals: org.w3c.dom.Node
StackMap stack:
goto 86
79: StackMap locals:
StackMap stack:
aload 17
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
astore 18
start local 18 80: aload 18
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 85
81: aload 3
aload 18
82: aload 18
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
iadd
83: invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.scope:Ljava/lang/String;
84: goto 86
85: StackMap locals: java.lang.String
StackMap stack:
aload 3
aload 18
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.scope:Ljava/lang/String;
end local 18 end local 17 86: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
87: iload 16
aload 10
invokeinterface org.w3c.dom.NodeList.getLength:()I
if_icmplt 76
end local 16 88: aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.scope:Ljava/lang/String;
ifnonnull 92
89: aload 2
sipush 400
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
90: goto 92
91: StackMap locals:
StackMap stack:
aload 2
sipush 400
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
92: StackMap locals:
StackMap stack:
aload 14
ifnull 111
93: aload 14
invokeinterface org.w3c.dom.Node.getChildNodes:()Lorg/w3c/dom/NodeList;
astore 10
94: iconst_0
istore 16
start local 16 95: goto 107
96: StackMap locals: int
StackMap stack:
aload 10
iload 16
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
astore 17
start local 17 97: aload 17
invokeinterface org.w3c.dom.Node.getNodeType:()S
tableswitch { // 1 - 3
1: 99
2: 106
3: 98
default: 106
}
98: StackMap locals: org.w3c.dom.Node
StackMap stack:
goto 106
99: StackMap locals:
StackMap stack:
aload 17
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
astore 18
start local 18 100: aload 18
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 105
101: aload 3
102: aload 18
aload 18
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
103: putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.type:Ljava/lang/String;
104: goto 106
105: StackMap locals: java.lang.String
StackMap stack:
aload 3
aload 18
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.type:Ljava/lang/String;
end local 18 end local 17 106: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
107: iload 16
aload 10
invokeinterface org.w3c.dom.NodeList.getLength:()I
if_icmplt 96
end local 16 108: aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.type:Ljava/lang/String;
ifnonnull 112
109: aload 2
sipush 400
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
110: goto 112
111: StackMap locals:
StackMap stack:
aload 2
sipush 400
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
112: StackMap locals:
StackMap stack:
aload 15
ifnull 129
113: aload 15
invokeinterface org.w3c.dom.Node.getChildNodes:()Lorg/w3c/dom/NodeList;
astore 10
114: iconst_0
istore 16
start local 16 115: goto 125
116: StackMap locals: int
StackMap stack:
aload 10
iload 16
invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
astore 17
start local 17 117: aload 17
invokeinterface org.w3c.dom.Node.getNodeType:()S
tableswitch { // 1 - 3
1: 120
2: 124
3: 118
default: 124
}
118: StackMap locals: org.w3c.dom.Node
StackMap stack:
aload 3
dup
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.owner:Ljava/lang/String;
new java.lang.StringBuilder
dup_x1
swap
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 17
invokeinterface org.w3c.dom.Node.getNodeValue:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.owner:Ljava/lang/String;
119: goto 124
120: StackMap locals:
StackMap stack:
new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 11
121: new org.apache.catalina.util.DOMWriter
dup
aload 11
invokespecial org.apache.catalina.util.DOMWriter.<init>:(Ljava/io/Writer;)V
astore 12
122: aload 12
aload 17
invokevirtual org.apache.catalina.util.DOMWriter.print:(Lorg/w3c/dom/Node;)V
123: aload 3
dup
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.owner:Ljava/lang/String;
new java.lang.StringBuilder
dup_x1
swap
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.owner:Ljava/lang/String;
end local 17 124: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
125: iload 16
aload 10
invokeinterface org.w3c.dom.NodeList.getLength:()I
if_icmplt 116
end local 16 126: aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.owner:Ljava/lang/String;
ifnonnull 130
127: aload 2
sipush 400
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
128: goto 130
129: StackMap locals:
StackMap stack:
aload 3
ldc ""
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.owner:Ljava/lang/String;
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 130: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.servlets.WebdavServlet$LockInfo java.lang.String int java.lang.String int org.w3c.dom.Node javax.xml.parsers.DocumentBuilder
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 10
start local 10 131: aload 3
aload 10
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
132: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 10
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 11
start local 11 133: aconst_null
astore 12
start local 12 134: iload 7
ifne 247
135: new java.lang.StringBuilder
dup
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.type:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
136: aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.scope:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getUserPrincipal:()Ljava/security/Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
137: aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.depth:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.owner:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
138: aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.expiresAt:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.System.currentTimeMillis:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
139: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.secret:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
140: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 13
start local 13 141: iconst_1
anewarray byte[]
dup
iconst_0
142: aload 13
getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
aastore
143: invokestatic org.apache.tomcat.util.security.ConcurrentMessageDigest.digestMD5:([[B)[B
invokestatic org.apache.tomcat.util.security.MD5Encoder.encode:([B)Ljava/lang/String;
astore 14
start local 14 144: aload 11
invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
ifeq 225
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.depth:I
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.maxDepth:I
if_icmpne 225
145: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 15
start local 15 146: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.collectionLocks:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 12
147: goto 156
148: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.servlets.WebdavServlet$LockInfo java.lang.String int java.lang.String int org.w3c.dom.Node javax.xml.parsers.DocumentBuilder java.lang.String org.apache.catalina.WebResource java.util.Enumeration java.lang.String java.lang.String java.util.Vector
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 16
start local 16 149: aload 16
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.hasExpired:()Z
ifeq 152
150: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
aload 16
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
151: goto 156
152: StackMap locals: org.apache.catalina.servlets.WebdavServlet$LockInfo
StackMap stack:
aload 16
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 156
153: aload 16
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.isExclusive:()Z
ifne 155
154: aload 3
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.isExclusive:()Z
ifeq 156
155: StackMap locals:
StackMap stack:
aload 15
aload 16
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 16 156: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 148
157: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
astore 12
158: goto 167
159: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 16
start local 16 160: aload 16
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.hasExpired:()Z
ifeq 163
161: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
aload 16
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
162: goto 167
163: StackMap locals: org.apache.catalina.servlets.WebdavServlet$LockInfo
StackMap stack:
aload 16
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 167
164: aload 16
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.isExclusive:()Z
ifne 166
165: aload 3
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.isExclusive:()Z
ifeq 167
166: StackMap locals:
StackMap stack:
aload 15
aload 16
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 16 167: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 159
168: aload 15
invokevirtual java.util.Vector.isEmpty:()Z
ifne 206
169: aload 15
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 16
start local 16 170: aload 2
sipush 409
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
171: new org.apache.catalina.util.XMLWriter
dup
invokespecial org.apache.catalina.util.XMLWriter.<init>:()V
astore 17
start local 17 172: aload 17
invokevirtual org.apache.catalina.util.XMLWriter.writeXMLHeader:()V
173: aload 17
ldc "D"
ldc "DAV:"
174: ldc "multistatus"
iconst_0
175: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
176: goto 198
177: StackMap locals: java.util.Enumeration org.apache.catalina.util.XMLWriter
StackMap stack:
aload 17
ldc "D"
ldc "response"
178: iconst_0
179: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
180: aload 17
ldc "D"
ldc "href"
181: iconst_0
182: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
183: aload 17
aload 16
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual org.apache.catalina.util.XMLWriter.writeText:(Ljava/lang/String;)V
184: aload 17
ldc "D"
ldc "href"
185: iconst_1
186: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
187: aload 17
ldc "D"
ldc "status"
188: iconst_0
189: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
190: aload 17
191: ldc "HTTP/1.1 423 "
invokevirtual org.apache.catalina.util.XMLWriter.writeText:(Ljava/lang/String;)V
192: aload 17
ldc "D"
ldc "status"
193: iconst_1
194: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
195: aload 17
ldc "D"
ldc "response"
196: iconst_1
197: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
198: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 177
199: aload 17
ldc "D"
ldc "multistatus"
200: iconst_1
201: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
202: aload 2
invokeinterface jakarta.servlet.http.HttpServletResponse.getWriter:()Ljava/io/PrintWriter;
astore 18
start local 18 203: aload 18
aload 17
invokevirtual org.apache.catalina.util.XMLWriter.toString:()Ljava/lang/String;
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
204: aload 18
invokevirtual java.io.Writer.close:()V
205: return
end local 18 end local 17 end local 16 206: StackMap locals:
StackMap stack:
iconst_1
istore 16
start local 16 207: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.collectionLocks:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 12
208: goto 220
209: StackMap locals: int
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 17
start local 17 210: aload 17
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 220
211: aload 17
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.isExclusive:()Z
ifeq 214
212: aload 2
sipush 423
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
213: return
214: StackMap locals: org.apache.catalina.servlets.WebdavServlet$LockInfo
StackMap stack:
aload 3
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.isExclusive:()Z
ifeq 217
215: aload 2
sipush 423
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
216: return
217: StackMap locals:
StackMap stack:
aload 17
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
aload 14
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
218: aload 17
astore 3
219: iconst_0
istore 16
end local 17 220: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 209
221: iload 16
ifeq 247
222: aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
aload 14
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
223: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.collectionLocks:Ljava/util/Vector;
aload 3
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 16 end local 15 224: goto 247
225: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 15
start local 15 226: aload 15
ifnull 233
227: aload 15
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.isExclusive:()Z
ifne 228
aload 3
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.isExclusive:()Z
ifeq 230
228: StackMap locals: org.apache.catalina.servlets.WebdavServlet$LockInfo
StackMap stack:
aload 2
sipush 412
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
229: return
230: StackMap locals:
StackMap stack:
aload 15
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
aload 14
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
231: aload 15
astore 3
232: goto 247
233: StackMap locals:
StackMap stack:
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
aload 14
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
234: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
aload 3
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
235: aload 11
invokeinterface org.apache.catalina.WebResource.exists:()Z
ifne 244
236: aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 16
start local 16 237: aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
iconst_0
iload 16
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 17
start local 17 238: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.lockNullResources:Ljava/util/Hashtable;
aload 17
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Vector
239: astore 18
start local 18 240: aload 18
ifnonnull 243
241: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 18
242: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.lockNullResources:Ljava/util/Hashtable;
aload 17
aload 18
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
243: StackMap locals: int java.lang.String java.util.Vector
StackMap stack:
aload 18
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 18 end local 17 end local 16 244: StackMap locals:
StackMap stack:
aload 2
ldc "Lock-Token"
new java.lang.StringBuilder
dup
ldc "<opaquelocktoken:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
245: aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
246: invokeinterface jakarta.servlet.http.HttpServletResponse.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
end local 15 end local 14 end local 13 247: StackMap locals:
StackMap stack:
iload 7
iconst_1
if_icmpne 274
248: aload 1
ldc "If"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 13
start local 13 249: aload 13
ifnonnull 251
250: ldc ""
astore 13
251: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
aload 10
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 14
start local 14 252: aconst_null
astore 15
start local 15 253: aload 14
ifnull 261
254: aload 14
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 15
255: goto 260
256: StackMap locals: org.apache.catalina.servlets.WebdavServlet$LockInfo java.util.Enumeration
StackMap stack:
aload 15
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 16
start local 16 257: aload 13
aload 16
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 260
258: aload 14
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.expiresAt:J
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.expiresAt:J
259: aload 14
astore 3
end local 16 260: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 256
261: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.collectionLocks:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
262: astore 16
start local 16 263: goto 273
264: StackMap locals: java.util.Enumeration
StackMap stack:
aload 16
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 14
265: aload 10
aload 14
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 273
266: aload 14
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 15
267: goto 272
268: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 17
start local 17 269: aload 13
aload 17
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 272
270: aload 14
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.expiresAt:J
putfield org.apache.catalina.servlets.WebdavServlet$LockInfo.expiresAt:J
271: aload 14
astore 3
end local 17 272: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 268
273: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 264
end local 16 end local 15 end local 14 end local 13 274: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.servlets.WebdavServlet$LockInfo java.lang.String int java.lang.String int org.w3c.dom.Node javax.xml.parsers.DocumentBuilder java.lang.String org.apache.catalina.WebResource java.util.Enumeration
StackMap stack:
new org.apache.catalina.util.XMLWriter
dup
invokespecial org.apache.catalina.util.XMLWriter.<init>:()V
astore 13
start local 13 275: aload 13
invokevirtual org.apache.catalina.util.XMLWriter.writeXMLHeader:()V
276: aload 13
ldc "D"
ldc "DAV:"
ldc "prop"
277: iconst_0
278: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
279: aload 13
ldc "D"
ldc "lockdiscovery"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
280: aload 3
aload 13
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.toXML:(Lorg/apache/catalina/util/XMLWriter;)V
281: aload 13
ldc "D"
ldc "lockdiscovery"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
282: aload 13
ldc "D"
ldc "prop"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
283: aload 2
sipush 200
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
284: aload 2
ldc "text/xml; charset=UTF-8"
invokeinterface jakarta.servlet.http.HttpServletResponse.setContentType:(Ljava/lang/String;)V
285: aload 2
invokeinterface jakarta.servlet.http.HttpServletResponse.getWriter:()Ljava/io/PrintWriter;
astore 14
start local 14 286: aload 14
aload 13
invokevirtual org.apache.catalina.util.XMLWriter.toString:()Ljava/lang/String;
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
287: aload 14
invokevirtual java.io.Writer.close:()V
288: return
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 289 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 289 1 req Ljakarta/servlet/http/HttpServletRequest;
0 289 2 resp Ljakarta/servlet/http/HttpServletResponse;
7 289 3 lock Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;
8 289 4 depthStr Ljava/lang/String;
16 289 5 lockDuration I
17 289 6 lockDurationStr Ljava/lang/String;
21 37 7 commaPos I
39 289 7 lockRequestType I
40 289 8 lockInfoNode Lorg/w3c/dom/Node;
41 289 9 documentBuilder Ljavax/xml/parsers/DocumentBuilder;
44 46 10 document Lorg/w3c/dom/Document;
45 46 11 rootElement Lorg/w3c/dom/Element;
53 130 10 childList Lorg/w3c/dom/NodeList;
54 130 11 strWriter Ljava/io/StringWriter;
55 130 12 domWriter Lorg/apache/catalina/util/DOMWriter;
56 130 13 lockScopeNode Lorg/w3c/dom/Node;
57 130 14 lockTypeNode Lorg/w3c/dom/Node;
58 130 15 lockOwnerNode Lorg/w3c/dom/Node;
59 72 16 i I
61 70 17 currentNode Lorg/w3c/dom/Node;
64 70 18 nodeName Ljava/lang/String;
75 88 16 i I
77 86 17 currentNode Lorg/w3c/dom/Node;
80 86 18 tempScope Ljava/lang/String;
95 108 16 i I
97 106 17 currentNode Lorg/w3c/dom/Node;
100 106 18 tempType Ljava/lang/String;
115 126 16 i I
117 124 17 currentNode Lorg/w3c/dom/Node;
131 289 10 path Ljava/lang/String;
133 289 11 resource Lorg/apache/catalina/WebResource;
134 289 12 locksList Ljava/util/Enumeration<Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;>;
141 247 13 lockTokenStr Ljava/lang/String;
144 247 14 lockToken Ljava/lang/String;
146 224 15 lockPaths Ljava/util/Vector<Ljava/lang/String;>;
149 156 16 currentLock Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;
160 167 16 currentLock Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;
170 206 16 lockPathsList Ljava/util/Enumeration<Ljava/lang/String;>;
172 206 17 generatedXML Lorg/apache/catalina/util/XMLWriter;
203 206 18 writer Ljava/io/Writer;
207 224 16 addLock Z
210 220 17 currentLock Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;
226 247 15 presentLock Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;
237 244 16 slash I
238 244 17 parentPath Ljava/lang/String;
240 244 18 lockNulls Ljava/util/Vector<Ljava/lang/String;>;
249 274 13 ifHeader Ljava/lang/String;
252 274 14 toRenew Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;
253 274 15 tokenList Ljava/util/Enumeration<Ljava/lang/String;>;
257 260 16 token Ljava/lang/String;
263 274 16 collectionLocksList Ljava/util/Enumeration<Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;>;
269 272 17 token Ljava/lang/String;
275 289 13 generatedXML Lorg/apache/catalina/util/XMLWriter;
286 289 14 writer Ljava/io/Writer;
Exception table:
from to target type
29 30 31 Class java.lang.NumberFormatException
41 46 47 Class java.io.IOException
41 46 49 Class org.xml.sax.SAXException
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
req
resp
protected void doUnlock(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.readOnly:Z
ifeq 3
1: aload 2
sipush 403
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.isLocked:(Ljakarta/servlet/http/HttpServletRequest;)Z
ifeq 6
4: aload 2
sipush 423
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
5: return
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 3
start local 3 7: aload 1
ldc "Lock-Token"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 8: aload 4
ifnonnull 10
9: ldc ""
astore 4
10: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 5
start local 5 11: aconst_null
astore 6
start local 6 12: aload 5
ifnull 22
13: aload 5
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 6
14: goto 18
15: StackMap locals: org.apache.catalina.servlets.WebdavServlet$LockInfo java.util.Enumeration
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 16: aload 4
aload 7
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 18
17: aload 5
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
aload 7
invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
pop
end local 7 18: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 15
19: aload 5
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
invokevirtual java.util.Vector.isEmpty:()Z
ifeq 22
20: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
aload 3
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
21: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.lockNullResources:Ljava/util/Hashtable;
aload 3
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
22: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.collectionLocks:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 7
start local 7 23: goto 36
24: StackMap locals: java.util.Enumeration
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 5
25: aload 3
aload 5
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
26: aload 5
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 6
27: goto 32
28: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 29: aload 4
aload 8
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 32
30: aload 5
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
aload 8
invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
pop
31: goto 33
end local 8 32: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 28
33: StackMap locals:
StackMap stack:
aload 5
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
invokevirtual java.util.Vector.isEmpty:()Z
ifeq 36
34: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.collectionLocks:Ljava/util/Vector;
aload 5
invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
pop
35: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.lockNullResources:Ljava/util/Hashtable;
aload 3
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
36: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 24
37: aload 2
sipush 204
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
38: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 39 1 req Ljakarta/servlet/http/HttpServletRequest;
0 39 2 resp Ljakarta/servlet/http/HttpServletResponse;
7 39 3 path Ljava/lang/String;
8 39 4 lockTokenHeader Ljava/lang/String;
11 39 5 lock Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;
12 39 6 tokenList Ljava/util/Enumeration<Ljava/lang/String;>;
16 18 7 token Ljava/lang/String;
23 39 7 collectionLocksList Ljava/util/Enumeration<Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;>;
29 32 8 token Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
req
resp
private boolean isLocked(jakarta.servlet.http.HttpServletRequest);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 2
start local 2 1: aload 1
ldc "If"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 2: aload 3
ifnonnull 4
3: ldc ""
astore 3
4: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 1
ldc "Lock-Token"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 5: aload 4
ifnonnull 7
6: ldc ""
astore 4
7: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 2
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.catalina.servlets.WebdavServlet.isLocked:(Ljava/lang/String;Ljava/lang/String;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 8 1 req Ljakarta/servlet/http/HttpServletRequest;
1 8 2 path Ljava/lang/String;
2 8 3 ifHeader Ljava/lang/String;
5 8 4 lockTokenHeader Ljava/lang/String;
MethodParameters:
Name Flags
req
private boolean isLocked(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 3
ifnull 5
aload 3
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.hasExpired:()Z
ifeq 5
3: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: goto 16
StackMap locals: org.apache.catalina.servlets.WebdavServlet$LockInfo java.util.Enumeration
StackMap stack:
5: aload 3
ifnull 16
6: aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 4
7: iconst_0
istore 5
start local 5 8: goto 13
9: StackMap locals: int
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 10: aload 2
aload 6
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 13
11: iconst_1
istore 5
12: goto 14
end local 6 13: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 9
14: StackMap locals:
StackMap stack:
iload 5
ifne 16
15: iconst_1
ireturn
end local 5 16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.collectionLocks:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 5
start local 5 17: goto 33
18: StackMap locals: java.util.Enumeration
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 3
19: aload 3
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.hasExpired:()Z
ifeq 22
20: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.collectionLocks:Ljava/util/Vector;
aload 3
invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
pop
21: goto 33
StackMap locals:
StackMap stack:
22: aload 1
aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 33
23: aload 3
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.tokens:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 4
24: iconst_0
istore 6
start local 6 25: goto 30
26: StackMap locals: int
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 27: aload 2
aload 7
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 30
28: iconst_1
istore 6
29: goto 31
end local 7 30: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 26
31: StackMap locals:
StackMap stack:
iload 6
ifne 33
32: iconst_1
ireturn
end local 6 33: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 18
34: iconst_0
ireturn
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 35 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 35 1 path Ljava/lang/String;
0 35 2 ifHeader Ljava/lang/String;
1 35 3 lock Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;
2 35 4 tokenList Ljava/util/Enumeration<Ljava/lang/String;>;
8 16 5 tokenMatch Z
10 13 6 token Ljava/lang/String;
17 35 5 collectionLocksList Ljava/util/Enumeration<Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;>;
25 33 6 tokenMatch Z
27 30 7 token Ljava/lang/String;
MethodParameters:
Name Flags
path
ifHeader
private boolean copyResource(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "Destination"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: aload 3
ifnonnull 4
2: aload 2
sipush 400
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
3: iconst_0
ireturn
4: StackMap locals: java.lang.String
StackMap stack:
aload 3
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokestatic org.apache.tomcat.util.buf.UDecoder.URLDecode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
astore 3
5: aload 3
ldc "://"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 4
start local 4 6: iload 4
iflt 14
7: aload 3
bipush 47
iload 4
iconst_4
iadd
invokevirtual java.lang.String.indexOf:(II)I
8: istore 5
start local 5 9: iload 5
ifge 12
10: ldc "/"
astore 3
11: goto 27
12: StackMap locals: int int
StackMap stack:
aload 3
iload 5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
end local 5 13: goto 27
14: StackMap locals:
StackMap stack:
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getServerName:()Ljava/lang/String;
astore 5
start local 5 15: aload 5
ifnull 17
aload 3
aload 5
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 17
16: aload 3
aload 5
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
17: StackMap locals: java.lang.String
StackMap stack:
aload 3
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 18: iload 6
iflt 20
19: aload 3
iload 6
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
20: StackMap locals: int
StackMap stack:
aload 3
ldc ":"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 27
21: aload 3
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
istore 7
start local 7 22: iload 7
ifge 25
23: ldc "/"
astore 3
24: goto 27
25: StackMap locals: int
StackMap stack:
aload 3
iload 7
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
26: astore 3
end local 7 end local 6 end local 5 27: StackMap locals:
StackMap stack:
aload 3
invokestatic org.apache.tomcat.util.http.RequestUtil.normalize:(Ljava/lang/String;)Ljava/lang/String;
astore 3
28: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
astore 5
start local 5 29: aload 5
ifnull 32
30: aload 3
aload 5
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 32
31: aload 3
aload 5
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
32: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getPathInfo:()Ljava/lang/String;
astore 6
start local 6 33: aload 6
ifnull 40
34: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
astore 7
start local 7 35: aload 7
ifnull 40
36: aload 3
aload 7
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 40
37: aload 3
38: aload 7
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
39: astore 3
end local 7 40: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.debug:I
ifle 42
41: aload 0
new java.lang.StringBuilder
dup
ldc "Dest path :"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.catalina.servlets.WebdavServlet.log:(Ljava/lang/String;)V
42: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.apache.catalina.servlets.WebdavServlet.isSpecialPath:(Ljava/lang/String;)Z
ifeq 45
43: aload 2
sipush 403
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
44: iconst_0
ireturn
45: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 7
start local 7 46: aload 3
aload 7
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 49
47: aload 2
sipush 403
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
48: iconst_0
ireturn
49: StackMap locals: java.lang.String
StackMap stack:
iconst_1
istore 8
start local 8 50: aload 1
ldc "Overwrite"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 51: aload 9
ifnull 56
52: aload 9
ldc "T"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 55
53: iconst_1
istore 8
54: goto 56
55: StackMap locals: int java.lang.String
StackMap stack:
iconst_0
istore 8
56: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 3
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 10
start local 10 57: iload 8
ifeq 63
58: aload 10
invokeinterface org.apache.catalina.WebResource.exists:()Z
ifeq 61
59: aload 0
aload 3
aload 1
aload 2
iconst_1
invokevirtual org.apache.catalina.servlets.WebdavServlet.deleteResource:(Ljava/lang/String;Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Z)Z
ifne 66
60: iconst_0
ireturn
61: StackMap locals: org.apache.catalina.WebResource
StackMap stack:
aload 2
sipush 201
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
62: goto 66
63: StackMap locals:
StackMap stack:
aload 10
invokeinterface org.apache.catalina.WebResource.exists:()Z
ifeq 66
64: aload 2
sipush 412
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
65: iconst_0
ireturn
66: StackMap locals:
StackMap stack:
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 11
start local 11 67: aload 0
aload 11
aload 7
aload 3
invokevirtual org.apache.catalina.servlets.WebdavServlet.copyResource:(Ljava/util/Hashtable;Ljava/lang/String;Ljava/lang/String;)Z
istore 12
start local 12 68: iload 12
ifeq 69
aload 11
invokevirtual java.util.Hashtable.isEmpty:()Z
ifne 74
69: StackMap locals: java.util.Hashtable int
StackMap stack:
aload 11
invokevirtual java.util.Hashtable.size:()I
iconst_1
if_icmpne 72
70: aload 2
aload 11
invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
71: goto 73
72: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 11
invokevirtual org.apache.catalina.servlets.WebdavServlet.sendReport:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljava/util/Hashtable;)V
73: StackMap locals:
StackMap stack:
iconst_0
ireturn
74: StackMap locals:
StackMap stack:
aload 10
invokeinterface org.apache.catalina.WebResource.exists:()Z
ifeq 77
75: aload 2
sipush 204
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
76: goto 78
77: StackMap locals:
StackMap stack:
aload 2
sipush 201
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
78: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.lockNullResources:Ljava/util/Hashtable;
aload 3
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
79: iconst_1
ireturn
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 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 80 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 80 1 req Ljakarta/servlet/http/HttpServletRequest;
0 80 2 resp Ljakarta/servlet/http/HttpServletResponse;
1 80 3 destinationPath Ljava/lang/String;
6 80 4 protocolIndex I
9 13 5 firstSeparator I
15 27 5 hostName Ljava/lang/String;
18 27 6 portIndex I
22 27 7 firstSeparator I
29 80 5 contextPath Ljava/lang/String;
33 80 6 pathInfo Ljava/lang/String;
35 40 7 servletPath Ljava/lang/String;
46 80 7 path Ljava/lang/String;
50 80 8 overwrite Z
51 80 9 overwriteHeader Ljava/lang/String;
57 80 10 destination Lorg/apache/catalina/WebResource;
67 80 11 errorList Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Integer;>;
68 80 12 result Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
req
resp
private boolean copyResource(java.util.Hashtable<java.lang.String, java.lang.Integer>, java.lang.String, java.lang.String);
descriptor: (Ljava/util/Hashtable;Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.debug:I
iconst_1
if_icmple 2
1: aload 0
new java.lang.StringBuilder
dup
ldc "Copy: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " To: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.catalina.servlets.WebdavServlet.log:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 2
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 4
start local 4 3: aload 4
invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
ifeq 24
4: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 3
invokeinterface org.apache.catalina.WebResourceRoot.mkdir:(Ljava/lang/String;)Z
ifne 9
5: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 3
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 5
start local 5 6: aload 5
invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
ifne 9
7: aload 1
aload 3
sipush 409
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: iconst_0
ireturn
end local 5 9: StackMap locals: org.apache.catalina.WebResource
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 2
invokeinterface org.apache.catalina.WebResourceRoot.list:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 10: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 22
StackMap locals: org.apache.catalina.servlets.WebdavServlet java.util.Hashtable java.lang.String java.lang.String org.apache.catalina.WebResource java.lang.String[] top int int java.lang.String[]
StackMap stack:
11: aload 9
iload 7
aaload
astore 6
start local 6 12: aload 3
astore 10
start local 10 13: aload 10
ldc "/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
14: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
15: StackMap locals: org.apache.catalina.servlets.WebdavServlet java.util.Hashtable java.lang.String java.lang.String org.apache.catalina.WebResource java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
16: aload 2
astore 11
start local 11 17: aload 11
ldc "/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
18: new java.lang.StringBuilder
dup
aload 11
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
19: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 11
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
20: aload 0
aload 1
aload 11
aload 10
invokevirtual org.apache.catalina.servlets.WebdavServlet.copyResource:(Ljava/util/Hashtable;Ljava/lang/String;Ljava/lang/String;)Z
pop
end local 11 end local 10 end local 6 21: iinc 7 1
StackMap locals: org.apache.catalina.servlets.WebdavServlet java.util.Hashtable java.lang.String java.lang.String org.apache.catalina.WebResource java.lang.String[] top int int java.lang.String[]
StackMap stack:
22: iload 7
iload 8
if_icmplt 11
end local 5 23: goto 53
StackMap locals: org.apache.catalina.servlets.WebdavServlet java.util.Hashtable java.lang.String java.lang.String org.apache.catalina.WebResource
StackMap stack:
24: aload 4
invokeinterface org.apache.catalina.WebResource.isFile:()Z
ifeq 51
25: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 3
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 5
start local 5 26: aload 5
invokeinterface org.apache.catalina.WebResource.exists:()Z
ifne 34
aload 5
invokeinterface org.apache.catalina.WebResource.getWebappPath:()Ljava/lang/String;
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 34
27: aload 5
invokeinterface org.apache.catalina.WebResource.getWebappPath:()Ljava/lang/String;
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 6
start local 6 28: iload 6
ifle 34
29: aload 5
invokeinterface org.apache.catalina.WebResource.getWebappPath:()Ljava/lang/String;
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
start local 7 30: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 7
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 8
start local 8 31: aload 8
invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
ifne 34
32: aload 1
aload 2
sipush 409
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
33: iconst_0
ireturn
end local 8 end local 7 end local 6 34: StackMap locals: org.apache.catalina.WebResource
StackMap stack:
aload 5
invokeinterface org.apache.catalina.WebResource.exists:()Z
ifne 36
aload 3
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 36
aload 3
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 36
35: aload 3
iconst_0
aload 3
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
36: StackMap locals:
StackMap stack:
aconst_null
astore 6
aconst_null
astore 7
37: aload 4
invokeinterface org.apache.catalina.WebResource.getInputStream:()Ljava/io/InputStream;
astore 8
start local 8 38: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 3
aload 8
iconst_0
invokeinterface org.apache.catalina.WebResourceRoot.write:(Ljava/lang/String;Ljava/io/InputStream;Z)Z
ifne 42
39: aload 1
aload 2
sipush 500
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
40: aload 8
ifnull 41
aload 8
invokevirtual java.io.InputStream.close:()V
41: StackMap locals: java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack:
iconst_0
ireturn
42: StackMap locals:
StackMap stack:
aload 8
ifnull 53
aload 8
invokevirtual java.io.InputStream.close:()V
goto 53
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 6
aload 8
ifnull 44
aload 8
invokevirtual java.io.InputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
44: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
45: astore 7
aload 6
ifnonnull 46
aload 7
astore 6
goto 47
StackMap locals:
StackMap stack:
46: aload 6
aload 7
if_acmpeq 47
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
47: aload 6
athrow
StackMap locals: org.apache.catalina.servlets.WebdavServlet java.util.Hashtable java.lang.String java.lang.String org.apache.catalina.WebResource org.apache.catalina.WebResource
StackMap stack: java.io.IOException
48: astore 6
start local 6 49: aload 0
getstatic org.apache.catalina.servlets.WebdavServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "webdavservlet.inputstreamclosefail"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 6
invokevirtual org.apache.catalina.servlets.WebdavServlet.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 6 end local 5 50: goto 53
51: StackMap locals:
StackMap stack:
aload 1
aload 2
sipush 500
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
52: iconst_0
ireturn
53: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 54 1 errorList Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Integer;>;
0 54 2 source Ljava/lang/String;
0 54 3 dest Ljava/lang/String;
3 54 4 sourceResource Lorg/apache/catalina/WebResource;
6 9 5 destResource Lorg/apache/catalina/WebResource;
10 23 5 entries [Ljava/lang/String;
12 21 6 entry Ljava/lang/String;
13 21 10 childDest Ljava/lang/String;
17 21 11 childSrc Ljava/lang/String;
26 50 5 destResource Lorg/apache/catalina/WebResource;
28 34 6 lastSlash I
30 34 7 parent Ljava/lang/String;
31 34 8 parentResource Lorg/apache/catalina/WebResource;
38 44 8 is Ljava/io/InputStream;
49 50 6 e Ljava/io/IOException;
Exception table:
from to target type
38 40 43 any
37 41 45 any
42 45 45 any
36 41 48 Class java.io.IOException
42 48 48 Class java.io.IOException
Signature: (Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Integer;>;Ljava/lang/String;Ljava/lang/String;)Z
MethodParameters:
Name Flags
errorList
source
dest
private boolean deleteResource(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 3
start local 3 1: aload 0
aload 3
aload 1
aload 2
iconst_1
invokevirtual org.apache.catalina.servlets.WebdavServlet.deleteResource:(Ljava/lang/String;Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Z)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 2 1 req Ljakarta/servlet/http/HttpServletRequest;
0 2 2 resp Ljakarta/servlet/http/HttpServletResponse;
1 2 3 path Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
req
resp
private boolean deleteResource(java.lang.String, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, boolean);
descriptor: (Ljava/lang/String;Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ldc "If"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 1: aload 5
ifnonnull 3
2: ldc ""
astore 5
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
ldc "Lock-Token"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 4: aload 6
ifnonnull 6
5: ldc ""
astore 6
6: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.catalina.servlets.WebdavServlet.isLocked:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 9
7: aload 3
sipush 423
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 1
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 7
start local 7 10: aload 7
invokeinterface org.apache.catalina.WebResource.exists:()Z
ifne 13
11: aload 3
sipush 404
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
12: iconst_0
ireturn
13: StackMap locals: org.apache.catalina.WebResource
StackMap stack:
aload 7
invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
ifne 17
14: aload 7
invokeinterface org.apache.catalina.WebResource.delete:()Z
ifne 26
15: aload 3
sipush 500
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 8
start local 8 18: aload 0
aload 2
aload 1
aload 8
invokevirtual org.apache.catalina.servlets.WebdavServlet.deleteCollection:(Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;Ljava/util/Hashtable;)V
19: aload 7
invokeinterface org.apache.catalina.WebResource.delete:()Z
ifne 23
20: aload 8
aload 1
21: sipush 500
22: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: StackMap locals: java.util.Hashtable
StackMap stack:
aload 8
invokevirtual java.util.Hashtable.isEmpty:()Z
ifne 26
24: aload 0
aload 2
aload 3
aload 8
invokevirtual org.apache.catalina.servlets.WebdavServlet.sendReport:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljava/util/Hashtable;)V
25: iconst_0
ireturn
end local 8 26: StackMap locals:
StackMap stack:
iload 4
ifeq 28
27: aload 3
sipush 204
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
28: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 29 1 path Ljava/lang/String;
0 29 2 req Ljakarta/servlet/http/HttpServletRequest;
0 29 3 resp Ljakarta/servlet/http/HttpServletResponse;
0 29 4 setStatus Z
1 29 5 ifHeader Ljava/lang/String;
4 29 6 lockTokenHeader Ljava/lang/String;
10 29 7 resource Lorg/apache/catalina/WebResource;
18 26 8 errorList Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Integer;>;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
req
resp
setStatus
private void deleteCollection(jakarta.servlet.http.HttpServletRequest, java.lang.String, java.util.Hashtable<java.lang.String, java.lang.Integer>);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;Ljava/util/Hashtable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.debug:I
iconst_1
if_icmple 2
1: aload 0
new java.lang.StringBuilder
dup
ldc "Delete:"
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;
invokevirtual org.apache.catalina.servlets.WebdavServlet.log:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet.isSpecialPath:(Ljava/lang/String;)Z
ifeq 5
3: aload 3
aload 2
sipush 403
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
5: StackMap locals:
StackMap stack:
aload 1
ldc "If"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 6: aload 4
ifnonnull 8
7: ldc ""
astore 4
8: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc "Lock-Token"
invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 9: aload 5
ifnonnull 11
10: ldc ""
astore 5
11: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 2
invokeinterface org.apache.catalina.WebResourceRoot.list:(Ljava/lang/String;)[Ljava/lang/String;
astore 6
start local 6 12: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 30
StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest java.lang.String java.util.Hashtable java.lang.String java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
13: aload 10
iload 8
aaload
astore 7
start local 7 14: aload 2
astore 11
start local 11 15: aload 11
ldc "/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
16: new java.lang.StringBuilder
dup
aload 11
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
17: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest java.lang.String java.util.Hashtable java.lang.String java.lang.String java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 11
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
18: aload 0
aload 11
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.catalina.servlets.WebdavServlet.isLocked:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 21
19: aload 3
aload 11
sipush 423
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: goto 29
21: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 11
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 12
start local 12 22: aload 12
invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
ifeq 24
23: aload 0
aload 1
aload 11
aload 3
invokevirtual org.apache.catalina.servlets.WebdavServlet.deleteCollection:(Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;Ljava/util/Hashtable;)V
24: StackMap locals: org.apache.catalina.WebResource
StackMap stack:
aload 12
invokeinterface org.apache.catalina.WebResource.delete:()Z
ifne 29
25: aload 12
invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
ifne 29
26: aload 3
aload 11
27: sipush 500
28: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 12 end local 11 end local 7 29: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest java.lang.String java.util.Hashtable java.lang.String java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
30: iload 8
iload 9
if_icmplt 13
31: 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 32 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 32 1 req Ljakarta/servlet/http/HttpServletRequest;
0 32 2 path Ljava/lang/String;
0 32 3 errorList Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Integer;>;
6 32 4 ifHeader Ljava/lang/String;
9 32 5 lockTokenHeader Ljava/lang/String;
12 32 6 entries [Ljava/lang/String;
14 29 7 entry Ljava/lang/String;
15 29 11 childName Ljava/lang/String;
22 29 12 childResource Lorg/apache/catalina/WebResource;
Signature: (Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Integer;>;)V
MethodParameters:
Name Flags
req
path
errorList
private void sendReport(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.util.Hashtable<java.lang.String, java.lang.Integer>);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljava/util/Hashtable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
sipush 207
invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
1: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
astore 4
start local 4 2: aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 5
start local 5 3: new org.apache.catalina.util.XMLWriter
dup
invokespecial org.apache.catalina.util.XMLWriter.<init>:()V
astore 6
start local 6 4: aload 6
invokevirtual org.apache.catalina.util.XMLWriter.writeXMLHeader:()V
5: aload 6
ldc "D"
ldc "DAV:"
ldc "multistatus"
6: iconst_0
7: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
8: aload 3
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
astore 7
start local 7 9: goto 23
10: StackMap locals: org.apache.catalina.servlets.WebdavServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.util.Hashtable java.lang.String java.lang.String org.apache.catalina.util.XMLWriter java.util.Enumeration
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 11: aload 3
aload 8
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 9
start local 9 12: aload 6
ldc "D"
ldc "response"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
13: aload 6
ldc "D"
ldc "href"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
14: aload 8
aload 5
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 10
start local 10 15: aload 10
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 17
16: new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
17: StackMap locals: java.lang.String int java.lang.String
StackMap stack:
aload 6
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.catalina.util.XMLWriter.writeText:(Ljava/lang/String;)V
18: aload 6
ldc "D"
ldc "href"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
19: aload 6
ldc "D"
ldc "status"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
20: aload 6
new java.lang.StringBuilder
dup
ldc "HTTP/1.1 "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.apache.catalina.util.XMLWriter.writeText:(Ljava/lang/String;)V
21: aload 6
ldc "D"
ldc "status"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
22: aload 6
ldc "D"
ldc "response"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
end local 10 end local 9 end local 8 23: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 10
24: aload 6
ldc "D"
ldc "multistatus"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
25: aload 2
invokeinterface jakarta.servlet.http.HttpServletResponse.getWriter:()Ljava/io/PrintWriter;
astore 8
start local 8 26: aload 8
aload 6
invokevirtual org.apache.catalina.util.XMLWriter.toString:()Ljava/lang/String;
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
27: aload 8
invokevirtual java.io.Writer.close:()V
28: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 29 1 req Ljakarta/servlet/http/HttpServletRequest;
0 29 2 resp Ljakarta/servlet/http/HttpServletResponse;
0 29 3 errorList Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Integer;>;
2 29 4 absoluteUri Ljava/lang/String;
3 29 5 relativePath Ljava/lang/String;
4 29 6 generatedXML Lorg/apache/catalina/util/XMLWriter;
9 29 7 pathList Ljava/util/Enumeration<Ljava/lang/String;>;
11 23 8 errorPath Ljava/lang/String;
12 23 9 errorCode I
15 23 10 toAppend Ljava/lang/String;
26 29 8 writer Ljava/io/Writer;
Exceptions:
throws java.io.IOException
Signature: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Integer;>;)V
MethodParameters:
Name Flags
req
resp
errorList
private void parseProperties(jakarta.servlet.http.HttpServletRequest, org.apache.catalina.util.XMLWriter, java.lang.String, int, java.util.Vector<java.lang.String>);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Lorg/apache/catalina/util/XMLWriter;Ljava/lang/String;ILjava/util/Vector;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=17, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 3
invokevirtual org.apache.catalina.servlets.WebdavServlet.isSpecialPath:(Ljava/lang/String;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 3
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 6
start local 6 3: aload 6
invokeinterface org.apache.catalina.WebResource.exists:()Z
ifne 5
4: return
5: StackMap locals: org.apache.catalina.WebResource
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 6: aload 7
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 8
aload 3
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
7: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
goto 9
8: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
9: StackMap locals:
StackMap stack:
aload 6
invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
ifeq 11
aload 7
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 11
10: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
11: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual org.apache.catalina.servlets.WebdavServlet.rewriteUrl:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 12: aload 0
aload 2
aload 8
aload 3
iload 4
aload 5
13: aload 6
invokeinterface org.apache.catalina.WebResource.isFile:()Z
iconst_0
aload 6
invokeinterface org.apache.catalina.WebResource.getCreation:()J
aload 6
invokeinterface org.apache.catalina.WebResource.getLastModified:()J
14: aload 6
invokeinterface org.apache.catalina.WebResource.getContentLength:()J
aload 0
invokevirtual org.apache.catalina.servlets.WebdavServlet.getServletContext:()Ljakarta/servlet/ServletContext;
aload 6
invokeinterface org.apache.catalina.WebResource.getName:()Ljava/lang/String;
invokeinterface jakarta.servlet.ServletContext.getMimeType:(Ljava/lang/String;)Ljava/lang/String;
15: aload 0
aload 6
invokevirtual org.apache.catalina.servlets.WebdavServlet.generateETag:(Lorg/apache/catalina/WebResource;)Ljava/lang/String;
16: invokevirtual org.apache.catalina.servlets.WebdavServlet.generatePropFindResponse:(Lorg/apache/catalina/util/XMLWriter;Ljava/lang/String;Ljava/lang/String;ILjava/util/Vector;ZZJJJLjava/lang/String;Ljava/lang/String;)V
17: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 18 1 req Ljakarta/servlet/http/HttpServletRequest;
0 18 2 generatedXML Lorg/apache/catalina/util/XMLWriter;
0 18 3 path Ljava/lang/String;
0 18 4 type I
0 18 5 propertiesVector Ljava/util/Vector<Ljava/lang/String;>;
3 18 6 resource Lorg/apache/catalina/WebResource;
6 18 7 href Ljava/lang/String;
12 18 8 rewrittenUrl Ljava/lang/String;
Signature: (Ljakarta/servlet/http/HttpServletRequest;Lorg/apache/catalina/util/XMLWriter;Ljava/lang/String;ILjava/util/Vector<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
req
generatedXML
path
type
propertiesVector
private void parseLockNullProperties(jakarta.servlet.http.HttpServletRequest, org.apache.catalina.util.XMLWriter, java.lang.String, int, java.util.Vector<java.lang.String>);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;Lorg/apache/catalina/util/XMLWriter;Ljava/lang/String;ILjava/util/Vector;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=16, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 3
invokevirtual org.apache.catalina.servlets.WebdavServlet.isSpecialPath:(Ljava/lang/String;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 6
start local 6 3: aload 6
ifnonnull 5
4: return
5: StackMap locals: org.apache.catalina.servlets.WebdavServlet$LockInfo
StackMap stack:
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
astore 7
start local 7 6: aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 8
start local 8 7: aload 3
aload 8
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 9
start local 9 8: aload 9
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 10
9: new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
10: StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 0
11: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokestatic org.apache.tomcat.util.http.RequestUtil.normalize:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.apache.catalina.servlets.WebdavServlet.rewriteUrl:(Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 13: aload 0
aload 2
aload 10
aload 3
iload 4
aload 5
14: iconst_1
iconst_1
aload 6
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.creationDate:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
aload 6
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.creationDate:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
15: lconst_0
ldc ""
ldc ""
16: invokevirtual org.apache.catalina.servlets.WebdavServlet.generatePropFindResponse:(Lorg/apache/catalina/util/XMLWriter;Ljava/lang/String;Ljava/lang/String;ILjava/util/Vector;ZZJJJLjava/lang/String;Ljava/lang/String;)V
17: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 18 1 req Ljakarta/servlet/http/HttpServletRequest;
0 18 2 generatedXML Lorg/apache/catalina/util/XMLWriter;
0 18 3 path Ljava/lang/String;
0 18 4 type I
0 18 5 propertiesVector Ljava/util/Vector<Ljava/lang/String;>;
3 18 6 lock Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;
6 18 7 absoluteUri Ljava/lang/String;
7 18 8 relativePath Ljava/lang/String;
8 18 9 toAppend Ljava/lang/String;
13 18 10 rewrittenUrl Ljava/lang/String;
Signature: (Ljakarta/servlet/http/HttpServletRequest;Lorg/apache/catalina/util/XMLWriter;Ljava/lang/String;ILjava/util/Vector<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
req
generatedXML
path
type
propertiesVector
private void generatePropFindResponse(org.apache.catalina.util.XMLWriter, java.lang.String, java.lang.String, int, java.util.Vector<java.lang.String>, boolean, boolean, long, long, long, java.lang.String, java.lang.String);
descriptor: (Lorg/apache/catalina/util/XMLWriter;Ljava/lang/String;Ljava/lang/String;ILjava/util/Vector;ZZJJJLjava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=23, args_size=13
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 10 start local 12 start local 14 start local 15 0: aload 1
ldc "D"
ldc "response"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
1: ldc "HTTP/1.1 200 "
astore 16
start local 16 2: aload 1
ldc "D"
ldc "href"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
3: aload 1
aload 2
invokevirtual org.apache.catalina.util.XMLWriter.writeText:(Ljava/lang/String;)V
4: aload 1
ldc "D"
ldc "href"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
5: aload 3
astore 17
start local 17 6: aload 3
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 18
start local 18 7: iload 18
iconst_m1
if_icmpeq 9
8: aload 17
iload 18
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 17
9: StackMap locals: java.lang.String java.lang.String int
StackMap stack:
iload 4
tableswitch { // 0 - 2
0: 68
1: 10
2: 49
default: 166
}
10: StackMap locals:
StackMap stack:
aload 1
ldc "D"
ldc "propstat"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
11: aload 1
ldc "D"
ldc "prop"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
12: aload 1
ldc "D"
ldc "creationdate"
aload 0
lload 8
invokevirtual org.apache.catalina.servlets.WebdavServlet.getISOCreationDate:(J)Ljava/lang/String;
invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
13: aload 1
ldc "D"
ldc "displayname"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
14: aload 1
aload 17
invokevirtual org.apache.catalina.util.XMLWriter.writeData:(Ljava/lang/String;)V
15: aload 1
ldc "D"
ldc "displayname"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
16: iload 6
ifeq 31
17: aload 1
ldc "D"
ldc "getlastmodified"
18: lload 10
invokestatic org.apache.tomcat.util.http.FastHttpDateFormat.formatDate:(J)Ljava/lang/String;
19: invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
20: aload 1
ldc "D"
ldc "getcontentlength"
lload 12
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
21: aload 14
ifnull 23
22: aload 1
ldc "D"
ldc "getcontenttype"
aload 14
invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
23: StackMap locals:
StackMap stack:
aload 1
ldc "D"
ldc "getetag"
aload 15
invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
24: iload 7
ifeq 29
25: aload 1
ldc "D"
ldc "resourcetype"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
26: aload 1
ldc "D"
ldc "lock-null"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
27: aload 1
ldc "D"
ldc "resourcetype"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
28: goto 37
29: StackMap locals:
StackMap stack:
aload 1
ldc "D"
ldc "resourcetype"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
30: goto 37
31: StackMap locals:
StackMap stack:
aload 1
ldc "D"
ldc "getlastmodified"
32: lload 10
invokestatic org.apache.tomcat.util.http.FastHttpDateFormat.formatDate:(J)Ljava/lang/String;
33: invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
34: aload 1
ldc "D"
ldc "resourcetype"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
35: aload 1
ldc "D"
ldc "collection"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
36: aload 1
ldc "D"
ldc "resourcetype"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
37: StackMap locals:
StackMap stack:
aload 1
ldc "D"
ldc "source"
ldc ""
invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
38: ldc "<D:lockentry><D:lockscope><D:exclusive/></D:lockscope><D:locktype><D:write/></D:locktype></D:lockentry><D:lockentry><D:lockscope><D:shared/></D:lockscope><D:locktype><D:write/></D:locktype></D:lockentry>"
astore 19
start local 19 39: aload 1
ldc "D"
ldc "supportedlock"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
40: aload 1
aload 19
invokevirtual org.apache.catalina.util.XMLWriter.writeText:(Ljava/lang/String;)V
41: aload 1
ldc "D"
ldc "supportedlock"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
42: aload 0
aload 3
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.generateLockDiscovery:(Ljava/lang/String;Lorg/apache/catalina/util/XMLWriter;)Z
pop
43: aload 1
ldc "D"
ldc "prop"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
44: aload 1
ldc "D"
ldc "status"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
45: aload 1
aload 16
invokevirtual org.apache.catalina.util.XMLWriter.writeText:(Ljava/lang/String;)V
46: aload 1
ldc "D"
ldc "status"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
47: aload 1
ldc "D"
ldc "propstat"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
48: goto 166
end local 19 49: StackMap locals:
StackMap stack:
aload 1
ldc "D"
ldc "propstat"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
50: aload 1
ldc "D"
ldc "prop"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
51: aload 1
ldc "D"
ldc "creationdate"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
52: aload 1
ldc "D"
ldc "displayname"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
53: iload 6
ifeq 59
54: aload 1
ldc "D"
ldc "getcontentlanguage"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
55: aload 1
ldc "D"
ldc "getcontentlength"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
56: aload 1
ldc "D"
ldc "getcontenttype"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
57: aload 1
ldc "D"
ldc "getetag"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
58: aload 1
ldc "D"
ldc "getlastmodified"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
59: StackMap locals:
StackMap stack:
aload 1
ldc "D"
ldc "resourcetype"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
60: aload 1
ldc "D"
ldc "source"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
61: aload 1
ldc "D"
ldc "lockdiscovery"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
62: aload 1
ldc "D"
ldc "prop"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
63: aload 1
ldc "D"
ldc "status"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
64: aload 1
aload 16
invokevirtual org.apache.catalina.util.XMLWriter.writeText:(Ljava/lang/String;)V
65: aload 1
ldc "D"
ldc "status"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
66: aload 1
ldc "D"
ldc "propstat"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
67: goto 166
68: StackMap locals:
StackMap stack:
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 20
start local 20 69: aload 1
ldc "D"
ldc "propstat"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
70: aload 1
ldc "D"
ldc "prop"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
71: aload 5
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 21
start local 21 72: goto 145
73: StackMap locals: org.apache.catalina.servlets.WebdavServlet org.apache.catalina.util.XMLWriter java.lang.String java.lang.String int java.util.Vector int int long long long java.lang.String java.lang.String java.lang.String java.lang.String int top java.util.Vector java.util.Enumeration
StackMap stack:
aload 21
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 22
start local 22 74: aload 22
ldc "creationdate"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 77
75: aload 1
ldc "D"
ldc "creationdate"
aload 0
lload 8
invokevirtual org.apache.catalina.servlets.WebdavServlet.getISOCreationDate:(J)Ljava/lang/String;
invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
76: goto 145
StackMap locals: java.lang.String
StackMap stack:
77: aload 22
ldc "displayname"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 82
78: aload 1
ldc "D"
ldc "displayname"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
79: aload 1
aload 17
invokevirtual org.apache.catalina.util.XMLWriter.writeData:(Ljava/lang/String;)V
80: aload 1
ldc "D"
ldc "displayname"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
81: goto 145
StackMap locals:
StackMap stack:
82: aload 22
ldc "getcontentlanguage"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 90
83: iload 6
ifeq 88
84: aload 1
ldc "D"
ldc "getcontentlanguage"
85: iconst_2
86: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
87: goto 145
88: StackMap locals:
StackMap stack:
aload 20
aload 22
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
89: goto 145
StackMap locals:
StackMap stack:
90: aload 22
ldc "getcontentlength"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 98
91: iload 6
ifeq 96
92: aload 1
ldc "D"
ldc "getcontentlength"
93: lload 12
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
94: invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
95: goto 145
96: StackMap locals:
StackMap stack:
aload 20
aload 22
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
97: goto 145
StackMap locals:
StackMap stack:
98: aload 22
ldc "getcontenttype"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 104
99: iload 6
ifeq 102
100: aload 1
ldc "D"
ldc "getcontenttype"
aload 14
invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
101: goto 145
102: StackMap locals:
StackMap stack:
aload 20
aload 22
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
103: goto 145
StackMap locals:
StackMap stack:
104: aload 22
ldc "getetag"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 110
105: iload 6
ifeq 108
106: aload 1
ldc "D"
ldc "getetag"
aload 15
invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
107: goto 145
108: StackMap locals:
StackMap stack:
aload 20
aload 22
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
109: goto 145
StackMap locals:
StackMap stack:
110: aload 22
ldc "getlastmodified"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 118
111: iload 6
ifeq 116
112: aload 1
ldc "D"
ldc "getlastmodified"
113: lload 10
invokestatic org.apache.tomcat.util.http.FastHttpDateFormat.formatDate:(J)Ljava/lang/String;
114: invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
115: goto 145
116: StackMap locals:
StackMap stack:
aload 20
aload 22
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
117: goto 145
StackMap locals:
StackMap stack:
118: aload 22
ldc "resourcetype"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 131
119: iload 6
ifeq 127
120: iload 7
ifeq 125
121: aload 1
ldc "D"
ldc "resourcetype"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
122: aload 1
ldc "D"
ldc "lock-null"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
123: aload 1
ldc "D"
ldc "resourcetype"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
124: goto 145
125: StackMap locals:
StackMap stack:
aload 1
ldc "D"
ldc "resourcetype"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
126: goto 145
127: StackMap locals:
StackMap stack:
aload 1
ldc "D"
ldc "resourcetype"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
128: aload 1
ldc "D"
ldc "collection"
iconst_2
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
129: aload 1
ldc "D"
ldc "resourcetype"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
130: goto 145
StackMap locals:
StackMap stack:
131: aload 22
ldc "source"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 134
132: aload 1
ldc "D"
ldc "source"
ldc ""
invokevirtual org.apache.catalina.util.XMLWriter.writeProperty:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
133: goto 145
StackMap locals:
StackMap stack:
134: aload 22
ldc "supportedlock"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 140
135: ldc "<D:lockentry><D:lockscope><D:exclusive/></D:lockscope><D:locktype><D:write/></D:locktype></D:lockentry><D:lockentry><D:lockscope><D:shared/></D:lockscope><D:locktype><D:write/></D:locktype></D:lockentry>"
astore 19
start local 19 136: aload 1
ldc "D"
ldc "supportedlock"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
137: aload 1
aload 19
invokevirtual org.apache.catalina.util.XMLWriter.writeText:(Ljava/lang/String;)V
138: aload 1
ldc "D"
ldc "supportedlock"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
139: goto 145
end local 19 StackMap locals:
StackMap stack:
140: aload 22
ldc "lockdiscovery"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 144
141: aload 0
aload 3
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.generateLockDiscovery:(Ljava/lang/String;Lorg/apache/catalina/util/XMLWriter;)Z
ifne 145
142: aload 20
aload 22
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
143: goto 145
144: StackMap locals:
StackMap stack:
aload 20
aload 22
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 22 145: StackMap locals:
StackMap stack:
aload 21
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 73
146: aload 1
ldc "D"
ldc "prop"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
147: aload 1
ldc "D"
ldc "status"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
148: aload 1
aload 16
invokevirtual org.apache.catalina.util.XMLWriter.writeText:(Ljava/lang/String;)V
149: aload 1
ldc "D"
ldc "status"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
150: aload 1
ldc "D"
ldc "propstat"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
151: aload 20
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 22
start local 22 152: aload 22
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifeq 166
153: ldc "HTTP/1.1 404 "
astore 16
154: aload 1
ldc "D"
ldc "propstat"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
155: aload 1
ldc "D"
ldc "prop"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
156: goto 160
157: StackMap locals: java.util.Enumeration
StackMap stack:
aload 1
ldc "D"
aload 22
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
158: iconst_2
159: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
160: StackMap locals:
StackMap stack:
aload 22
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 157
161: aload 1
ldc "D"
ldc "prop"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
162: aload 1
ldc "D"
ldc "status"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
163: aload 1
aload 16
invokevirtual org.apache.catalina.util.XMLWriter.writeText:(Ljava/lang/String;)V
164: aload 1
ldc "D"
ldc "status"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
165: aload 1
ldc "D"
ldc "propstat"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
end local 22 end local 21 end local 20 166: StackMap locals: org.apache.catalina.servlets.WebdavServlet org.apache.catalina.util.XMLWriter java.lang.String java.lang.String int java.util.Vector int int long long long java.lang.String java.lang.String java.lang.String java.lang.String int
StackMap stack:
aload 1
ldc "D"
ldc "response"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
167: return
end local 18 end local 17 end local 16 end local 15 end local 14 end local 12 end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 168 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 168 1 generatedXML Lorg/apache/catalina/util/XMLWriter;
0 168 2 rewrittenUrl Ljava/lang/String;
0 168 3 path Ljava/lang/String;
0 168 4 propFindType I
0 168 5 propertiesVector Ljava/util/Vector<Ljava/lang/String;>;
0 168 6 isFile Z
0 168 7 isLockNull Z
0 168 8 created J
0 168 10 lastModified J
0 168 12 contentLength J
0 168 14 contentType Ljava/lang/String;
0 168 15 eTag Ljava/lang/String;
2 168 16 status Ljava/lang/String;
6 168 17 resourceName Ljava/lang/String;
7 168 18 lastSlash I
39 49 19 supportedLocks Ljava/lang/String;
136 140 19 supportedLocks Ljava/lang/String;
69 166 20 propertiesNotFound Ljava/util/Vector<Ljava/lang/String;>;
72 166 21 properties Ljava/util/Enumeration<Ljava/lang/String;>;
74 145 22 property Ljava/lang/String;
152 166 22 propertiesNotFoundList Ljava/util/Enumeration<Ljava/lang/String;>;
Signature: (Lorg/apache/catalina/util/XMLWriter;Ljava/lang/String;Ljava/lang/String;ILjava/util/Vector<Ljava/lang/String;>;ZZJJJLjava/lang/String;Ljava/lang/String;)V
MethodParameters:
Name Flags
generatedXML
rewrittenUrl
path
propFindType
propertiesVector
isFile
isLockNull
created
lastModified
contentLength
contentType
eTag
private boolean generateLockDiscovery(java.lang.String, org.apache.catalina.util.XMLWriter);
descriptor: (Ljava/lang/String;Lorg/apache/catalina/util/XMLWriter;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resourceLocks:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 3
start local 3 1: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.collectionLocks:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: aload 3
ifnull 16
4: iconst_1
istore 5
5: aload 2
ldc "D"
ldc "lockdiscovery"
iconst_0
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
6: aload 3
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.toXML:(Lorg/apache/catalina/util/XMLWriter;)V
7: goto 16
8: StackMap locals: org.apache.catalina.servlets.WebdavServlet$LockInfo java.util.Enumeration int
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast org.apache.catalina.servlets.WebdavServlet$LockInfo
astore 6
start local 6 9: aload 1
aload 6
getfield org.apache.catalina.servlets.WebdavServlet$LockInfo.path:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 16
10: iload 5
ifne 15
11: iconst_1
istore 5
12: aload 2
ldc "D"
ldc "lockdiscovery"
13: iconst_0
14: invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
15: StackMap locals: org.apache.catalina.servlets.WebdavServlet$LockInfo
StackMap stack:
aload 6
aload 2
invokevirtual org.apache.catalina.servlets.WebdavServlet$LockInfo.toXML:(Lorg/apache/catalina/util/XMLWriter;)V
end local 6 16: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 8
17: iload 5
ifeq 20
18: aload 2
ldc "D"
ldc "lockdiscovery"
iconst_1
invokevirtual org.apache.catalina.util.XMLWriter.writeElement:(Ljava/lang/String;Ljava/lang/String;I)V
19: goto 21
20: StackMap locals:
StackMap stack:
iconst_0
ireturn
21: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 22 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 22 1 path Ljava/lang/String;
0 22 2 generatedXML Lorg/apache/catalina/util/XMLWriter;
1 22 3 resourceLock Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;
2 22 4 collectionLocksList Ljava/util/Enumeration<Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;>;
3 22 5 wroteStart Z
9 16 6 currentLock Lorg/apache/catalina/servlets/WebdavServlet$LockInfo;
MethodParameters:
Name Flags
path
generatedXML
private java.lang.String getISOCreationDate(long);
descriptor: (J)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.apache.catalina.servlets.WebdavServlet.creationDateFormat:Lorg/apache/tomcat/util/http/ConcurrentDateFormat;
new java.util.Date
dup
lload 1
invokespecial java.util.Date.<init>:(J)V
invokevirtual org.apache.tomcat.util.http.ConcurrentDateFormat.format:(Ljava/util/Date;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 1 1 creationDate J
MethodParameters:
Name Flags
creationDate
protected java.lang.String determineMethodsAllowed(jakarta.servlet.http.HttpServletRequest);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.resources:Lorg/apache/catalina/WebResourceRoot;
aload 0
aload 1
invokevirtual org.apache.catalina.servlets.WebdavServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
astore 2
start local 2 1: new java.lang.StringBuilder
dup
2: ldc "OPTIONS, GET, POST, HEAD"
3: invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 3
start local 3 4: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.readOnly:Z
ifne 8
5: aload 3
ldc ", DELETE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 2
invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
ifne 8
7: aload 3
ldc ", PUT"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: StackMap locals: org.apache.catalina.WebResource java.lang.StringBuilder
StackMap stack:
aload 1
instanceof org.apache.catalina.connector.RequestFacade
ifeq 11
9: aload 1
checkcast org.apache.catalina.connector.RequestFacade
invokevirtual org.apache.catalina.connector.RequestFacade.getAllowTrace:()Z
ifeq 11
10: aload 3
ldc ", TRACE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: StackMap locals:
StackMap stack:
aload 3
ldc ", LOCK, UNLOCK, PROPPATCH, COPY, MOVE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 0
getfield org.apache.catalina.servlets.WebdavServlet.listings:Z
ifeq 14
13: aload 3
ldc ", PROPFIND"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.apache.catalina.WebResource.exists:()Z
ifne 16
15: aload 3
ldc ", MKCOL"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/catalina/servlets/WebdavServlet;
0 17 1 req Ljakarta/servlet/http/HttpServletRequest;
1 17 2 resource Lorg/apache/catalina/WebResource;
4 17 3 methodsAllowed Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
req
}
SourceFile: "WebdavServlet.java"
NestMembers:
org.apache.catalina.servlets.WebdavServlet$LockInfo org.apache.catalina.servlets.WebdavServlet$WebdavResolver
InnerClasses:
private LockInfo = org.apache.catalina.servlets.WebdavServlet$LockInfo of org.apache.catalina.servlets.WebdavServlet
private WebdavResolver = org.apache.catalina.servlets.WebdavServlet$WebdavResolver of org.apache.catalina.servlets.WebdavServlet