public class io.vertx.ext.web.handler.impl.BodyHandlerImpl implements io.vertx.ext.web.handler.BodyHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.web.handler.impl.BodyHandlerImpl
super_class: java.lang.Object
{
private static final io.vertx.core.logging.Logger log;
descriptor: Lio/vertx/core/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String BODY_HANDLED;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "__body-handled"
private long bodyLimit;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean handleFileUploads;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String uploadsDir;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean mergeFormAttributes;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean deleteUploadedFilesOnEnd;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isPreallocateBodyBuffer;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final int DEFAULT_INITIAL_BODY_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
putstatic io.vertx.ext.web.handler.impl.BodyHandlerImpl.log:Lio/vertx/core/logging/Logger;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
ldc "file-uploads"
invokespecial io.vertx.ext.web.handler.impl.BodyHandlerImpl.<init>:(ZLjava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
public void <init>(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ldc "file-uploads"
invokespecial io.vertx.ext.web.handler.impl.BodyHandlerImpl.<init>:(ZLjava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
0 2 1 handleFileUploads Z
MethodParameters:
Name Flags
handleFileUploads
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
aload 1
invokespecial io.vertx.ext.web.handler.impl.BodyHandlerImpl.<init>:(ZLjava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
0 2 1 uploadDirectory Ljava/lang/String;
MethodParameters:
Name Flags
uploadDirectory
private void <init>(boolean, java.lang.String);
descriptor: (ZLjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc -1
putfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.bodyLimit:J
2: aload 0
iconst_1
putfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.mergeFormAttributes:Z
3: aload 0
iconst_0
putfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.deleteUploadedFilesOnEnd:Z
4: aload 0
iconst_0
putfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.isPreallocateBodyBuffer:Z
5: aload 0
iload 1
putfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.handleFileUploads:Z
6: aload 0
aload 2
invokevirtual io.vertx.ext.web.handler.impl.BodyHandlerImpl.setUploadsDirectory:(Ljava/lang/String;)Lio/vertx/ext/web/handler/BodyHandler;
pop
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
0 8 1 handleFileUploads Z
0 8 2 uploadDirectory Ljava/lang/String;
MethodParameters:
Name Flags
handleFileUploads
uploadDirectory
public void handle(io.vertx.ext.web.RoutingContext);
descriptor: (Lio/vertx/ext/web/RoutingContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
astore 2
start local 2 1: aload 2
invokeinterface io.vertx.core.http.HttpServerRequest.headers:()Lio/vertx/core/MultiMap;
getstatic io.vertx.core.http.HttpHeaders.UPGRADE:Ljava/lang/CharSequence;
getstatic io.vertx.core.http.HttpHeaders.WEBSOCKET:Ljava/lang/CharSequence;
iconst_1
invokeinterface io.vertx.core.MultiMap.contains:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Z
ifeq 4
2: aload 1
invokeinterface io.vertx.ext.web.RoutingContext.next:()V
3: return
4: StackMap locals: io.vertx.core.http.HttpServerRequest
StackMap stack:
aload 1
ldc "__body-handled"
invokeinterface io.vertx.ext.web.RoutingContext.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 3
start local 3 5: aload 3
ifnull 6
aload 3
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 14
6: StackMap locals: java.lang.Boolean
StackMap stack:
aload 0
getfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.isPreallocateBodyBuffer:Z
ifeq 7
aload 0
aload 2
invokevirtual io.vertx.ext.web.handler.impl.BodyHandlerImpl.parseContentLengthHeader:(Lio/vertx/core/http/HttpServerRequest;)J
goto 8
StackMap locals:
StackMap stack:
7: ldc -1
StackMap locals:
StackMap stack: long
8: lstore 4
start local 4 9: new io.vertx.ext.web.handler.impl.BodyHandlerImpl$BHandler
dup
aload 0
aload 1
lload 4
invokespecial io.vertx.ext.web.handler.impl.BodyHandlerImpl$BHandler.<init>:(Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;Lio/vertx/ext/web/RoutingContext;J)V
astore 6
start local 6 10: aload 2
aload 6
invokeinterface io.vertx.core.http.HttpServerRequest.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerRequest;
pop
11: aload 2
aload 6
invokedynamic handle(Lio/vertx/ext/web/handler/impl/BodyHandlerImpl$BHandler;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/web/handler/impl/BodyHandlerImpl.lambda$0(Lio/vertx/ext/web/handler/impl/BodyHandlerImpl$BHandler;Ljava/lang/Void;)V (6)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.http.HttpServerRequest.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerRequest;
pop
12: aload 1
ldc "__body-handled"
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface io.vertx.ext.web.RoutingContext.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/ext/web/RoutingContext;
pop
end local 6 end local 4 13: goto 17
14: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.mergeFormAttributes:Z
ifeq 16
aload 2
invokeinterface io.vertx.core.http.HttpServerRequest.isExpectMultipart:()Z
ifeq 16
15: aload 2
invokeinterface io.vertx.core.http.HttpServerRequest.params:()Lio/vertx/core/MultiMap;
aload 2
invokeinterface io.vertx.core.http.HttpServerRequest.formAttributes:()Lio/vertx/core/MultiMap;
invokeinterface io.vertx.core.MultiMap.addAll:(Lio/vertx/core/MultiMap;)Lio/vertx/core/MultiMap;
pop
16: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.ext.web.RoutingContext.next:()V
17: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
0 18 1 context Lio/vertx/ext/web/RoutingContext;
1 18 2 request Lio/vertx/core/http/HttpServerRequest;
5 18 3 handled Ljava/lang/Boolean;
9 13 4 contentLength J
10 13 6 handler Lio/vertx/ext/web/handler/impl/BodyHandlerImpl$BHandler;
MethodParameters:
Name Flags
context
public io.vertx.ext.web.handler.BodyHandler setHandleFileUploads(boolean);
descriptor: (Z)Lio/vertx/ext/web/handler/BodyHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.handleFileUploads:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
0 2 1 handleFileUploads Z
MethodParameters:
Name Flags
handleFileUploads
public io.vertx.ext.web.handler.BodyHandler setBodyLimit(long);
descriptor: (J)Lio/vertx/ext/web/handler/BodyHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.bodyLimit:J
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
0 2 1 bodyLimit J
MethodParameters:
Name Flags
bodyLimit
public io.vertx.ext.web.handler.BodyHandler setUploadsDirectory(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/ext/web/handler/BodyHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.uploadsDir:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
0 2 1 uploadsDirectory Ljava/lang/String;
MethodParameters:
Name Flags
uploadsDirectory
public io.vertx.ext.web.handler.BodyHandler setMergeFormAttributes(boolean);
descriptor: (Z)Lio/vertx/ext/web/handler/BodyHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.mergeFormAttributes:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
0 2 1 mergeFormAttributes Z
MethodParameters:
Name Flags
mergeFormAttributes
public io.vertx.ext.web.handler.BodyHandler setDeleteUploadedFilesOnEnd(boolean);
descriptor: (Z)Lio/vertx/ext/web/handler/BodyHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.deleteUploadedFilesOnEnd:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
0 2 1 deleteUploadedFilesOnEnd Z
MethodParameters:
Name Flags
deleteUploadedFilesOnEnd
public io.vertx.ext.web.handler.BodyHandler setPreallocateBodyBuffer(boolean);
descriptor: (Z)Lio/vertx/ext/web/handler/BodyHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.vertx.ext.web.handler.impl.BodyHandlerImpl.isPreallocateBodyBuffer:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
0 2 1 isPreallocateBodyBuffer Z
MethodParameters:
Name Flags
isPreallocateBodyBuffer
private long parseContentLengthHeader(io.vertx.core.http.HttpServerRequest);
descriptor: (Lio/vertx/core/http/HttpServerRequest;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getstatic io.vertx.core.http.HttpHeaders.CONTENT_LENGTH:Ljava/lang/CharSequence;
invokeinterface io.vertx.core.http.HttpServerRequest.getHeader:(Ljava/lang/CharSequence;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
2: StackMap locals: java.lang.String
StackMap stack:
ldc -1
lreturn
3: StackMap locals:
StackMap stack:
aload 2
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 3
start local 3 4: lload 3
lconst_0
lcmp
ifge 5
ldc -1
goto 6
StackMap locals: long
StackMap stack:
5: lload 3
StackMap locals:
StackMap stack: long
6: lreturn
end local 3 7: StackMap locals: io.vertx.ext.web.handler.impl.BodyHandlerImpl io.vertx.core.http.HttpServerRequest java.lang.String
StackMap stack: java.lang.NumberFormatException
pop
8: ldc -1
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/ext/web/handler/impl/BodyHandlerImpl;
0 9 1 request Lio/vertx/core/http/HttpServerRequest;
1 9 2 contentLength Ljava/lang/String;
4 7 3 parsedContentLength J
Exception table:
from to target type
3 6 7 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
request
public void handle(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.vertx.ext.web.RoutingContext
invokevirtual io.vertx.ext.web.handler.impl.BodyHandlerImpl.handle:(Lio/vertx/ext/web/RoutingContext;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$0(io.vertx.ext.web.handler.impl.BodyHandlerImpl$BHandler, java.lang.Void);
descriptor: (Lio/vertx/ext/web/handler/impl/BodyHandlerImpl$BHandler;Ljava/lang/Void;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 1 0: aload 0
invokevirtual io.vertx.ext.web.handler.impl.BodyHandlerImpl$BHandler.end:()V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 v Ljava/lang/Void;
}
SourceFile: "BodyHandlerImpl.java"
NestMembers:
io.vertx.ext.web.handler.impl.BodyHandlerImpl$BHandler
InnerClasses:
private BHandler = io.vertx.ext.web.handler.impl.BodyHandlerImpl$BHandler of io.vertx.ext.web.handler.impl.BodyHandlerImpl
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles