public class org.eclipse.jetty.http.MultiPartFormInputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jetty.http.MultiPartFormInputStream
super_class: java.lang.Object
{
private static final org.eclipse.jetty.util.log.Logger LOG;
descriptor: Lorg/eclipse/jetty/util/log/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.eclipse.jetty.util.MultiMap<javax.servlet.http.Part> EMPTY_MAP;
descriptor: Lorg/eclipse/jetty/util/MultiMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lorg/eclipse/jetty/util/MultiMap<Ljavax/servlet/http/Part;>;
private java.io.InputStream _in;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private javax.servlet.MultipartConfigElement _config;
descriptor: Ljavax/servlet/MultipartConfigElement;
flags: (0x0002) ACC_PRIVATE
private java.lang.String _contentType;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.jetty.util.MultiMap<javax.servlet.http.Part> _parts;
descriptor: Lorg/eclipse/jetty/util/MultiMap;
flags: (0x0002) ACC_PRIVATE
Signature: Lorg/eclipse/jetty/util/MultiMap<Ljavax/servlet/http/Part;>;
private java.lang.Throwable _err;
descriptor: Ljava/lang/Throwable;
flags: (0x0002) ACC_PRIVATE
private java.io.File _tmpDir;
descriptor: Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private java.io.File _contextTmpDir;
descriptor: Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private boolean _deleteOnExit;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean _writeFilesWithFilenames;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean _parsed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int _bufferSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lorg/eclipse/jetty/http/MultiPartFormInputStream;
invokestatic org.eclipse.jetty.util.log.Log.getLogger:(Ljava/lang/Class;)Lorg/eclipse/jetty/util/log/Logger;
putstatic org.eclipse.jetty.http.MultiPartFormInputStream.LOG:Lorg/eclipse/jetty/util/log/Logger;
1: new org.eclipse.jetty.util.MultiMap
dup
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
invokespecial org.eclipse.jetty.util.MultiMap.<init>:(Ljava/util/Map;)V
putstatic org.eclipse.jetty.http.MultiPartFormInputStream.EMPTY_MAP:Lorg/eclipse/jetty/util/MultiMap;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.io.InputStream, java.lang.String, javax.servlet.MultipartConfigElement, java.io.File);
descriptor: (Ljava/io/InputStream;Ljava/lang/String;Ljavax/servlet/MultipartConfigElement;Ljava/io/File;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
sipush 16384
putfield org.eclipse.jetty.http.MultiPartFormInputStream._bufferSize:I
2: aload 0
aload 2
putfield org.eclipse.jetty.http.MultiPartFormInputStream._contentType:Ljava/lang/String;
3: aload 0
aload 3
putfield org.eclipse.jetty.http.MultiPartFormInputStream._config:Ljavax/servlet/MultipartConfigElement;
4: aload 0
aload 4
putfield org.eclipse.jetty.http.MultiPartFormInputStream._contextTmpDir:Ljava/io/File;
5: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._contextTmpDir:Ljava/io/File;
ifnonnull 7
6: aload 0
new java.io.File
dup
ldc "java.io.tmpdir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
putfield org.eclipse.jetty.http.MultiPartFormInputStream._contextTmpDir:Ljava/io/File;
7: StackMap locals: org.eclipse.jetty.http.MultiPartFormInputStream java.io.InputStream java.lang.String javax.servlet.MultipartConfigElement java.io.File
StackMap stack:
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._config:Ljavax/servlet/MultipartConfigElement;
ifnonnull 9
8: aload 0
new javax.servlet.MultipartConfigElement
dup
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._contextTmpDir:Ljava/io/File;
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokespecial javax.servlet.MultipartConfigElement.<init>:(Ljava/lang/String;)V
putfield org.eclipse.jetty.http.MultiPartFormInputStream._config:Ljavax/servlet/MultipartConfigElement;
9: StackMap locals:
StackMap stack:
aload 1
instanceof javax.servlet.ServletInputStream
ifeq 14
10: aload 1
checkcast javax.servlet.ServletInputStream
invokevirtual javax.servlet.ServletInputStream.isFinished:()Z
ifeq 14
11: aload 0
getstatic org.eclipse.jetty.http.MultiPartFormInputStream.EMPTY_MAP:Lorg/eclipse/jetty/util/MultiMap;
putfield org.eclipse.jetty.http.MultiPartFormInputStream._parts:Lorg/eclipse/jetty/util/MultiMap;
12: aload 0
iconst_1
putfield org.eclipse.jetty.http.MultiPartFormInputStream._parsed:Z
13: return
14: StackMap locals:
StackMap stack:
aload 0
new java.io.BufferedInputStream
dup
aload 1
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
putfield org.eclipse.jetty.http.MultiPartFormInputStream._in:Ljava/io/InputStream;
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
0 16 1 in Ljava/io/InputStream;
0 16 2 contentType Ljava/lang/String;
0 16 3 config Ljavax/servlet/MultipartConfigElement;
0 16 4 contextTmpDir Ljava/io/File;
MethodParameters:
Name Flags
in
contentType
config
contextTmpDir
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._parts:Lorg/eclipse/jetty/util/MultiMap;
ifnonnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._parts:Lorg/eclipse/jetty/util/MultiMap;
invokevirtual org.eclipse.jetty.util.MultiMap.values:()Ljava/util/Collection;
astore 1
start local 1 3: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: org.eclipse.jetty.http.MultiPartFormInputStream java.util.Collection top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 5: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifne 7
6: iconst_0
ireturn
end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
8: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
3 9 1 values Ljava/util/Collection<Ljava/util/List<Ljavax/servlet/http/Part;>;>;
5 7 2 partList Ljava/util/List<Ljavax/servlet/http/Part;>;
public void deleteParts();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._parts:Lorg/eclipse/jetty/util/MultiMap;
invokevirtual org.eclipse.jetty.util.MultiMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 12
StackMap locals: org.eclipse.jetty.http.MultiPartFormInputStream org.eclipse.jetty.util.MultiException top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 3: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: org.eclipse.jetty.http.MultiPartFormInputStream org.eclipse.jetty.util.MultiException java.util.List java.util.Iterator top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.servlet.http.Part
astore 4
start local 4 5: aload 4
checkcast org.eclipse.jetty.http.MultiPartFormInputStream$MultiPart
invokevirtual org.eclipse.jetty.http.MultiPartFormInputStream$MultiPart.cleanUp:()V
6: goto 11
7: StackMap locals: org.eclipse.jetty.http.MultiPartFormInputStream org.eclipse.jetty.util.MultiException java.util.List java.util.Iterator javax.servlet.http.Part java.util.Iterator
StackMap stack: java.lang.Exception
astore 6
start local 6 8: aload 1
ifnonnull 10
9: new org.eclipse.jetty.util.MultiException
dup
invokespecial org.eclipse.jetty.util.MultiException.<init>:()V
astore 1
10: StackMap locals: java.lang.Exception
StackMap stack:
aload 1
aload 6
invokevirtual org.eclipse.jetty.util.MultiException.add:(Ljava/lang/Throwable;)V
end local 6 end local 4 11: StackMap locals: org.eclipse.jetty.http.MultiPartFormInputStream org.eclipse.jetty.util.MultiException java.util.List java.util.Iterator top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 2 12: StackMap locals: org.eclipse.jetty.http.MultiPartFormInputStream org.eclipse.jetty.util.MultiException top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
13: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._parts:Lorg/eclipse/jetty/util/MultiMap;
invokevirtual org.eclipse.jetty.util.MultiMap.clear:()V
14: aload 1
ifnull 16
15: aload 1
invokevirtual org.eclipse.jetty.util.MultiException.ifExceptionThrowRuntime:()V
16: StackMap locals: org.eclipse.jetty.http.MultiPartFormInputStream org.eclipse.jetty.util.MultiException
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
1 17 1 err Lorg/eclipse/jetty/util/MultiException;
3 12 2 parts Ljava/util/List<Ljavax/servlet/http/Part;>;
5 11 4 p Ljavax/servlet/http/Part;
8 11 6 e Ljava/lang/Exception;
Exception table:
from to target type
5 6 7 Class java.lang.Exception
public java.util.Collection<javax.servlet.http.Part> getParts();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._parsed:Z
ifne 2
1: aload 0
invokevirtual org.eclipse.jetty.http.MultiPartFormInputStream.parse:()V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.http.MultiPartFormInputStream.throwIfError:()V
3: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._parts:Lorg/eclipse/jetty/util/MultiMap;
invokevirtual org.eclipse.jetty.util.MultiMap.values:()Ljava/util/Collection;
astore 1
start local 1 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 5: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: org.eclipse.jetty.http.MultiPartFormInputStream java.util.Collection java.util.List top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 7: aload 3
iconst_0
invokestatic org.eclipse.jetty.util.LazyList.getList:(Ljava/lang/Object;Z)Ljava/util/List;
astore 5
start local 5 8: aload 2
aload 5
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
end local 5 end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
10: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
4 11 1 values Ljava/util/Collection<Ljava/util/List<Ljavax/servlet/http/Part;>;>;
5 11 2 parts Ljava/util/List<Ljavax/servlet/http/Part;>;
7 9 3 o Ljava/util/List<Ljavax/servlet/http/Part;>;
8 9 5 asList Ljava/util/List<Ljavax/servlet/http/Part;>;
Exceptions:
throws java.io.IOException
Signature: ()Ljava/util/Collection<Ljavax/servlet/http/Part;>;
public javax.servlet.http.Part getPart(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/servlet/http/Part;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._parsed:Z
ifne 2
1: aload 0
invokevirtual org.eclipse.jetty.http.MultiPartFormInputStream.parse:()V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jetty.http.MultiPartFormInputStream.throwIfError:()V
3: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._parts:Lorg/eclipse/jetty/util/MultiMap;
aload 1
iconst_0
invokevirtual org.eclipse.jetty.util.MultiMap.getValue:(Ljava/lang/String;I)Ljava/lang/Object;
checkcast javax.servlet.http.Part
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
0 4 1 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
protected void throwIfError();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
ifnull 9
1: getstatic org.eclipse.jetty.http.MultiPartFormInputStream.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 3
2: getstatic org.eclipse.jetty.http.MultiPartFormInputStream.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "MultiPart parsing failure "
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
3: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
new java.lang.Throwable
dup
invokespecial java.lang.Throwable.<init>:()V
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
4: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
instanceof java.io.IOException
ifeq 6
5: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
checkcast java.io.IOException
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
instanceof java.lang.IllegalStateException
ifeq 8
7: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
checkcast java.lang.IllegalStateException
athrow
8: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
Exceptions:
throws java.io.IOException
protected void parse();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=10, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._parsed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.eclipse.jetty.http.MultiPartFormInputStream._parsed:Z
3: aconst_null
astore 1
start local 1 4: new org.eclipse.jetty.http.MultiPartFormInputStream$Handler
dup
aload 0
invokespecial org.eclipse.jetty.http.MultiPartFormInputStream$Handler.<init>:(Lorg/eclipse/jetty/http/MultiPartFormInputStream;)V
astore 2
start local 2 5: aload 0
new org.eclipse.jetty.util.MultiMap
dup
invokespecial org.eclipse.jetty.util.MultiMap.<init>:()V
putfield org.eclipse.jetty.http.MultiPartFormInputStream._parts:Lorg/eclipse/jetty/util/MultiMap;
6: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._contentType:Ljava/lang/String;
ifnull 7
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._contentType:Ljava/lang/String;
ldc "multipart/form-data"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 8
7: StackMap locals: org.eclipse.jetty.http.MultiPartParser org.eclipse.jetty.http.MultiPartFormInputStream$Handler
StackMap stack:
return
8: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._config:Ljavax/servlet/MultipartConfigElement;
invokevirtual javax.servlet.MultipartConfigElement.getLocation:()Ljava/lang/String;
ifnonnull 10
9: aload 0
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._contextTmpDir:Ljava/io/File;
putfield org.eclipse.jetty.http.MultiPartFormInputStream._tmpDir:Ljava/io/File;
goto 16
10: StackMap locals:
StackMap stack:
ldc ""
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._config:Ljavax/servlet/MultipartConfigElement;
invokevirtual javax.servlet.MultipartConfigElement.getLocation:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: aload 0
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._contextTmpDir:Ljava/io/File;
putfield org.eclipse.jetty.http.MultiPartFormInputStream._tmpDir:Ljava/io/File;
goto 16
12: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._config:Ljavax/servlet/MultipartConfigElement;
invokevirtual javax.servlet.MultipartConfigElement.getLocation:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
start local 3 13: aload 3
invokevirtual java.io.File.isAbsolute:()Z
ifeq 15
14: aload 0
aload 3
putfield org.eclipse.jetty.http.MultiPartFormInputStream._tmpDir:Ljava/io/File;
goto 16
15: StackMap locals: java.io.File
StackMap stack:
aload 0
new java.io.File
dup
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._contextTmpDir:Ljava/io/File;
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._config:Ljavax/servlet/MultipartConfigElement;
invokevirtual javax.servlet.MultipartConfigElement.getLocation:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
putfield org.eclipse.jetty.http.MultiPartFormInputStream._tmpDir:Ljava/io/File;
end local 3 16: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._tmpDir:Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifne 18
17: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._tmpDir:Ljava/io/File;
invokevirtual java.io.File.mkdirs:()Z
pop
18: StackMap locals:
StackMap stack:
ldc ""
astore 3
start local 3 19: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._contentType:Ljava/lang/String;
ldc "boundary="
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 4
start local 4 20: iload 4
iflt 26
21: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._contentType:Ljava/lang/String;
ldc ";"
iload 4
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 5
start local 5 22: iload 5
ifge 23
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._contentType:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
goto 24
StackMap locals: java.lang.String int int
StackMap stack:
23: iload 5
StackMap locals:
StackMap stack: int
24: istore 5
25: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._contentType:Ljava/lang/String;
iload 4
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic org.eclipse.jetty.http.MultiPartFormInputStream.value:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokestatic org.eclipse.jetty.util.QuotedStringTokenizer.unquote:(Ljava/lang/String;)Ljava/lang/String;
astore 3
end local 5 26: StackMap locals:
StackMap stack:
new org.eclipse.jetty.http.MultiPartParser
dup
aload 2
aload 3
invokespecial org.eclipse.jetty.http.MultiPartParser.<init>:(Lorg/eclipse/jetty/http/MultiPartParser$Handler;Ljava/lang/String;)V
astore 1
27: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._bufferSize:I
newarray 8
astore 5
start local 5 28: lconst_0
lstore 7
start local 7 29: StackMap locals: org.eclipse.jetty.http.MultiPartFormInputStream org.eclipse.jetty.http.MultiPartParser org.eclipse.jetty.http.MultiPartFormInputStream$Handler java.lang.String int byte[] top long
StackMap stack:
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._in:Ljava/io/InputStream;
aload 5
invokevirtual java.io.InputStream.read:([B)I
istore 6
start local 6 30: iload 6
ifle 41
31: lload 7
iload 6
i2l
ladd
lstore 7
32: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._config:Ljavax/servlet/MultipartConfigElement;
invokevirtual javax.servlet.MultipartConfigElement.getMaxRequestSize:()J
lconst_0
lcmp
ifle 35
lload 7
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._config:Ljavax/servlet/MultipartConfigElement;
invokevirtual javax.servlet.MultipartConfigElement.getMaxRequestSize:()J
lcmp
ifle 35
33: aload 0
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Request exceeds maxRequestSize ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._config:Ljavax/servlet/MultipartConfigElement;
invokevirtual javax.servlet.MultipartConfigElement.getMaxRequestSize:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
putfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
34: return
35: StackMap locals: org.eclipse.jetty.http.MultiPartFormInputStream org.eclipse.jetty.http.MultiPartParser org.eclipse.jetty.http.MultiPartFormInputStream$Handler java.lang.String int byte[] int long
StackMap stack:
aload 5
invokestatic org.eclipse.jetty.util.BufferUtil.toBuffer:([B)Ljava/nio/ByteBuffer;
astore 9
start local 9 36: aload 9
iload 6
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
37: aload 1
aload 9
iconst_0
invokevirtual org.eclipse.jetty.http.MultiPartParser.parse:(Ljava/nio/ByteBuffer;Z)Z
ifeq 39
38: goto 43
39: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 9
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 29
40: new java.lang.IllegalStateException
dup
ldc "Buffer did not fully consume"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 9 41: StackMap locals:
StackMap stack:
iload 6
iconst_m1
if_icmpne 29
42: aload 1
getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
iconst_1
invokevirtual org.eclipse.jetty.http.MultiPartParser.parse:(Ljava/nio/ByteBuffer;Z)Z
pop
43: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
ifnull 45
44: return
45: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jetty.http.MultiPartParser.getState:()Lorg/eclipse/jetty/http/MultiPartParser$State;
getstatic org.eclipse.jetty.http.MultiPartParser$State.END:Lorg/eclipse/jetty/http/MultiPartParser$State;
if_acmpeq 49
46: aload 1
invokevirtual org.eclipse.jetty.http.MultiPartParser.getState:()Lorg/eclipse/jetty/http/MultiPartParser$State;
getstatic org.eclipse.jetty.http.MultiPartParser$State.PREAMBLE:Lorg/eclipse/jetty/http/MultiPartParser$State;
if_acmpne 48
47: aload 0
new java.io.IOException
dup
ldc "Missing initial multi part boundary"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
putfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
goto 49
48: StackMap locals:
StackMap stack:
aload 0
new java.io.IOException
dup
ldc "Incomplete Multipart"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
putfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
49: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.http.MultiPartFormInputStream.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 56
50: getstatic org.eclipse.jetty.http.MultiPartFormInputStream.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "Parsing Complete {} err={}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 7 end local 6 end local 5 end local 4 end local 3 51: goto 56
52: StackMap locals: org.eclipse.jetty.http.MultiPartFormInputStream org.eclipse.jetty.http.MultiPartParser org.eclipse.jetty.http.MultiPartFormInputStream$Handler
StackMap stack: java.lang.Throwable
astore 3
start local 3 53: aload 0
aload 3
putfield org.eclipse.jetty.http.MultiPartFormInputStream._err:Ljava/lang/Throwable;
54: aload 1
ifnull 56
55: aload 1
getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
iconst_1
invokevirtual org.eclipse.jetty.http.MultiPartParser.parse:(Ljava/nio/ByteBuffer;Z)Z
pop
end local 3 56: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
4 57 1 parser Lorg/eclipse/jetty/http/MultiPartParser;
5 57 2 handler Lorg/eclipse/jetty/http/MultiPartFormInputStream$Handler;
13 16 3 f Ljava/io/File;
19 51 3 contentTypeBoundary Ljava/lang/String;
20 51 4 bstart I
22 26 5 bend I
28 51 5 data [B
30 51 6 len I
29 51 7 total J
36 41 9 buffer Ljava/nio/ByteBuffer;
53 56 3 e Ljava/lang/Throwable;
Exception table:
from to target type
5 7 52 Class java.lang.Throwable
8 34 52 Class java.lang.Throwable
35 44 52 Class java.lang.Throwable
45 51 52 Class java.lang.Throwable
public void setDeleteOnExit(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.eclipse.jetty.http.MultiPartFormInputStream._deleteOnExit:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
0 2 1 deleteOnExit Z
MethodParameters:
Name Flags
deleteOnExit
public void setWriteFilesWithFilenames(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.eclipse.jetty.http.MultiPartFormInputStream._writeFilesWithFilenames:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
0 2 1 writeFilesWithFilenames Z
MethodParameters:
Name Flags
writeFilesWithFilenames
public boolean isWriteFilesWithFilenames();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._writeFilesWithFilenames:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
public boolean isDeleteOnExit();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._deleteOnExit:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
private static java.lang.String value(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
istore 1
start local 1 1: aload 0
iload 1
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
invokestatic org.eclipse.jetty.util.QuotedStringTokenizer.unquoteOnly:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 nameEqualsValue Ljava/lang/String;
1 3 1 idx I
2 3 2 value Ljava/lang/String;
MethodParameters:
Name Flags
nameEqualsValue
private static java.lang.String filenameValue(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
istore 1
start local 1 1: aload 0
iload 1
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
ldc ".??[a-z,A-Z]\\:\\\\[^\\\\].*"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 10
3: aload 2
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 4: iload 3
bipush 34
if_icmpeq 5
iload 3
bipush 39
if_icmpne 6
5: StackMap locals: int java.lang.String int
StackMap stack:
aload 2
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
6: StackMap locals:
StackMap stack:
aload 2
aload 2
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 7: iload 4
bipush 34
if_icmpeq 8
iload 4
bipush 39
if_icmpne 9
8: StackMap locals: int
StackMap stack:
aload 2
iconst_0
aload 2
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
9: StackMap locals:
StackMap stack:
aload 2
areturn
end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokestatic org.eclipse.jetty.util.QuotedStringTokenizer.unquoteOnly:(Ljava/lang/String;Z)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 nameEqualsValue Ljava/lang/String;
1 11 1 idx I
2 11 2 value Ljava/lang/String;
4 10 3 first C
7 10 4 last C
MethodParameters:
Name Flags
nameEqualsValue
public int getBufferSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.http.MultiPartFormInputStream._bufferSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
public void setBufferSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.eclipse.jetty.http.MultiPartFormInputStream._bufferSize:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jetty/http/MultiPartFormInputStream;
0 2 1 bufferSize I
MethodParameters:
Name Flags
bufferSize
}
SourceFile: "MultiPartFormInputStream.java"
NestMembers:
org.eclipse.jetty.http.MultiPartFormInputStream$Handler org.eclipse.jetty.http.MultiPartFormInputStream$MultiPart
InnerClasses:
Handler = org.eclipse.jetty.http.MultiPartFormInputStream$Handler of org.eclipse.jetty.http.MultiPartFormInputStream
public MultiPart = org.eclipse.jetty.http.MultiPartFormInputStream$MultiPart of org.eclipse.jetty.http.MultiPartFormInputStream
public abstract Handler = org.eclipse.jetty.http.MultiPartParser$Handler of org.eclipse.jetty.http.MultiPartParser
public final State = org.eclipse.jetty.http.MultiPartParser$State of org.eclipse.jetty.http.MultiPartParser