public class org.glassfish.grizzly.http.multipart.MultipartScanner
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.glassfish.grizzly.http.multipart.MultipartScanner
super_class: java.lang.Object
{
public static final java.lang.String BOUNDARY_ATTR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "boundary"
private static final java.util.logging.Logger LOGGER;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final java.lang.String MULTIPART_CONTENT_TYPE;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "multipart"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/glassfish/grizzly/http/multipart/MultipartScanner;
invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
putstatic org.glassfish.grizzly.http.multipart.MultipartScanner.LOGGER:Ljava/util/logging/Logger;
1: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/multipart/MultipartScanner;
public static void scan(org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.http.multipart.MultipartEntryHandler, org.glassfish.grizzly.CompletionHandler<org.glassfish.grizzly.http.server.Request>);
descriptor: (Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;Lorg/glassfish/grizzly/CompletionHandler;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.glassfish.grizzly.http.server.Request.getContentType:()Ljava/lang/String;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: new java.lang.IllegalStateException
dup
ldc "ContentType not found"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.String
StackMap stack:
aload 3
ldc ";"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 4: aload 4
iconst_0
aaload
ldc "/"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 5: aload 5
arraylength
iconst_2
if_icmpne 6
ldc "multipart"
aload 5
iconst_0
aaload
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 7
6: StackMap locals: java.lang.String[] java.lang.String[]
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Not multipart request"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 8: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 7
start local 7 9: iconst_1
istore 8
start local 8 10: goto 22
11: StackMap locals: java.lang.String java.util.Map int
StackMap stack:
aload 4
iload 8
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 9
start local 9 12: aload 9
ldc "="
iconst_2
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 10
start local 10 13: aload 10
arraylength
iconst_2
if_icmpne 21
14: aload 10
iconst_0
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 11
start local 11 15: aload 10
iconst_1
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 12
start local 12 16: aload 12
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 34
if_icmpne 18
17: aload 12
iconst_1
aload 12
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 12
18: StackMap locals: org.glassfish.grizzly.http.server.Request org.glassfish.grizzly.http.multipart.MultipartEntryHandler org.glassfish.grizzly.CompletionHandler java.lang.String java.lang.String[] java.lang.String[] java.lang.String java.util.Map int java.lang.String java.lang.String[] java.lang.String java.lang.String
StackMap stack:
aload 7
aload 11
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: ldc "boundary"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
20: aload 12
astore 6
end local 12 end local 11 end local 10 end local 9 21: StackMap locals: org.glassfish.grizzly.http.server.Request org.glassfish.grizzly.http.multipart.MultipartEntryHandler org.glassfish.grizzly.CompletionHandler java.lang.String java.lang.String[] java.lang.String[] java.lang.String java.util.Map int
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
22: iload 8
aload 4
arraylength
if_icmplt 11
end local 8 23: aload 6
ifnonnull 25
24: new java.lang.IllegalStateException
dup
ldc "Boundary not found"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.server.Request.getNIOInputStream:()Lorg/glassfish/grizzly/http/io/NIOInputStream;
astore 8
start local 8 26: aload 8
27: new org.glassfish.grizzly.http.multipart.MultipartReadHandler
dup
aload 0
aload 1
aload 2
new org.glassfish.grizzly.http.multipart.MultipartContext
dup
aload 6
aload 3
aload 7
invokespecial org.glassfish.grizzly.http.multipart.MultipartContext.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
invokespecial org.glassfish.grizzly.http.multipart.MultipartReadHandler.<init>:(Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/http/multipart/MultipartContext;)V
28: invokevirtual org.glassfish.grizzly.http.io.NIOInputStream.notifyAvailable:(Lorg/glassfish/grizzly/ReadHandler;)V
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 29: goto 35
StackMap locals: org.glassfish.grizzly.http.server.Request org.glassfish.grizzly.http.multipart.MultipartEntryHandler org.glassfish.grizzly.CompletionHandler
StackMap stack: java.lang.Exception
30: astore 3
start local 3 31: aload 2
ifnull 34
32: aload 2
aload 3
invokeinterface org.glassfish.grizzly.CompletionHandler.failed:(Ljava/lang/Throwable;)V
33: goto 35
34: StackMap locals: java.lang.Exception
StackMap stack:
getstatic org.glassfish.grizzly.http.multipart.MultipartScanner.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
ldc "Error occurred, but no CompletionHandler installed to handle it"
aload 3
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 3 35: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 request Lorg/glassfish/grizzly/http/server/Request;
0 36 1 partHandler Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;
0 36 2 completionHandler Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/http/server/Request;>;
1 29 3 contentType Ljava/lang/String;
4 29 4 contentTypeParams [Ljava/lang/String;
5 29 5 contentSubType [Ljava/lang/String;
8 29 6 boundary Ljava/lang/String;
9 29 7 contentTypeProperties Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
10 23 8 i I
12 21 9 param Ljava/lang/String;
13 21 10 paramValue [Ljava/lang/String;
15 21 11 key Ljava/lang/String;
16 21 12 value Ljava/lang/String;
26 29 8 nioInputStream Lorg/glassfish/grizzly/http/io/NIOInputStream;
31 35 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 29 30 Class java.lang.Exception
Signature: (Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/http/server/Request;>;)V
MethodParameters:
Name Flags
request final
partHandler final
completionHandler final
public static void scan(org.glassfish.grizzly.http.multipart.MultipartEntry, org.glassfish.grizzly.http.multipart.MultipartEntryHandler, org.glassfish.grizzly.CompletionHandler<org.glassfish.grizzly.http.multipart.MultipartEntry>);
descriptor: (Lorg/glassfish/grizzly/http/multipart/MultipartEntry;Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;Lorg/glassfish/grizzly/CompletionHandler;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.glassfish.grizzly.http.multipart.MultipartEntry.getContentType:()Ljava/lang/String;
astore 3
start local 3 1: aload 3
ldc ";"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 2: aload 4
iconst_0
aaload
ldc "/"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 3: aload 5
arraylength
iconst_2
if_icmpne 4
ldc "multipart"
aload 5
iconst_0
aaload
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 5
4: StackMap locals: java.lang.String java.lang.String[] java.lang.String[]
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Not multipart request"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 6: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 7
start local 7 7: iconst_1
istore 8
start local 8 8: goto 20
9: StackMap locals: java.lang.String java.util.Map int
StackMap stack:
aload 4
iload 8
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 9
start local 9 10: aload 9
ldc "="
iconst_2
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 10
start local 10 11: aload 10
arraylength
iconst_2
if_icmpne 19
12: aload 10
iconst_0
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 11
start local 11 13: aload 10
iconst_1
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 12
start local 12 14: aload 12
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 34
if_icmpne 16
15: aload 12
iconst_1
aload 12
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 12
16: StackMap locals: org.glassfish.grizzly.http.multipart.MultipartEntry org.glassfish.grizzly.http.multipart.MultipartEntryHandler org.glassfish.grizzly.CompletionHandler java.lang.String java.lang.String[] java.lang.String[] java.lang.String java.util.Map int java.lang.String java.lang.String[] java.lang.String java.lang.String
StackMap stack:
aload 7
aload 11
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: ldc "boundary"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
18: aload 12
astore 6
end local 12 end local 11 end local 10 end local 9 19: StackMap locals: org.glassfish.grizzly.http.multipart.MultipartEntry org.glassfish.grizzly.http.multipart.MultipartEntryHandler org.glassfish.grizzly.CompletionHandler java.lang.String java.lang.String[] java.lang.String[] java.lang.String java.util.Map int
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
20: iload 8
aload 4
arraylength
if_icmplt 9
end local 8 21: aload 6
ifnonnull 23
22: new java.lang.IllegalStateException
dup
ldc "Boundary not found"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.multipart.MultipartEntry.getNIOInputStream:()Lorg/glassfish/grizzly/http/io/NIOInputStream;
astore 8
start local 8 24: aload 8
new org.glassfish.grizzly.http.multipart.MultipartReadHandler
dup
aload 0
aload 1
aload 2
25: new org.glassfish.grizzly.http.multipart.MultipartContext
dup
aload 6
aload 3
aload 7
invokespecial org.glassfish.grizzly.http.multipart.MultipartContext.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
invokespecial org.glassfish.grizzly.http.multipart.MultipartReadHandler.<init>:(Lorg/glassfish/grizzly/http/multipart/MultipartEntry;Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/http/multipart/MultipartContext;)V
26: invokevirtual org.glassfish.grizzly.http.io.NIOInputStream.notifyAvailable:(Lorg/glassfish/grizzly/ReadHandler;)V
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 27: goto 33
StackMap locals: org.glassfish.grizzly.http.multipart.MultipartEntry org.glassfish.grizzly.http.multipart.MultipartEntryHandler org.glassfish.grizzly.CompletionHandler
StackMap stack: java.lang.Exception
28: astore 3
start local 3 29: aload 2
ifnull 32
30: aload 2
aload 3
invokeinterface org.glassfish.grizzly.CompletionHandler.failed:(Ljava/lang/Throwable;)V
31: goto 33
32: StackMap locals: java.lang.Exception
StackMap stack:
getstatic org.glassfish.grizzly.http.multipart.MultipartScanner.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
ldc "Error occurred, but no CompletionHandler installed to handle it"
aload 3
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 3 33: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 multipartMixedEntry Lorg/glassfish/grizzly/http/multipart/MultipartEntry;
0 34 1 partHandler Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;
0 34 2 completionHandler Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/http/multipart/MultipartEntry;>;
1 27 3 contentType Ljava/lang/String;
2 27 4 contentTypeParams [Ljava/lang/String;
3 27 5 contentSubType [Ljava/lang/String;
6 27 6 boundary Ljava/lang/String;
7 27 7 contentTypeProperties Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
8 21 8 i I
10 19 9 param Ljava/lang/String;
11 19 10 paramValue [Ljava/lang/String;
13 19 11 key Ljava/lang/String;
14 19 12 value Ljava/lang/String;
24 27 8 nioInputStream Lorg/glassfish/grizzly/http/io/NIOInputStream;
29 33 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 27 28 Class java.lang.Exception
Signature: (Lorg/glassfish/grizzly/http/multipart/MultipartEntry;Lorg/glassfish/grizzly/http/multipart/MultipartEntryHandler;Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/http/multipart/MultipartEntry;>;)V
MethodParameters:
Name Flags
multipartMixedEntry final
partHandler final
completionHandler final
}
SourceFile: "MultipartScanner.java"