class io.vertx.ext.web.handler.sockjs.impl.XhrTransport extends io.vertx.ext.web.handler.sockjs.impl.BaseTransport
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.vertx.ext.web.handler.sockjs.impl.XhrTransport
  super_class: io.vertx.ext.web.handler.sockjs.impl.BaseTransport
{
  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 io.vertx.core.buffer.Buffer H_BLOCK;
    descriptor: Lio/vertx/core/buffer/Buffer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 58
            ldc Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;
            invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
            putstatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.log:Lio/vertx/core/logging/Logger;
         1: .line 63
            sipush 2049
            newarray 8
            astore 0 /* bytes */
        start local 0 // byte[] bytes
         2: .line 64
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 6
         4: .line 65
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* bytes */
            iload 1 /* i */
            bipush 104
            bastore
         5: .line 64
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            aload 0 /* bytes */
            arraylength
            if_icmplt 4
        end local 1 // int i
         7: .line 67
            aload 0 /* bytes */
            aload 0 /* bytes */
            arraylength
            iconst_1
            isub
            bipush 10
            bastore
         8: .line 68
            aload 0 /* bytes */
            invokestatic io.vertx.core.buffer.Buffer.buffer:([B)Lio/vertx/core/buffer/Buffer;
            putstatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.H_BLOCK:Lio/vertx/core/buffer/Buffer;
        end local 0 // byte[] bytes
         9: .line 69
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            2    9     0  bytes  [B
            3    7     1      i  I

  void <init>(io.vertx.core.Vertx, io.vertx.ext.web.Router, io.vertx.core.shareddata.LocalMap<java.lang.String, io.vertx.ext.web.handler.sockjs.impl.SockJSSession>, io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions, io.vertx.core.Handler<io.vertx.ext.web.handler.sockjs.SockJSSocket>);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/web/Router;Lio/vertx/core/shareddata/LocalMap;Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;Lio/vertx/core/Handler;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=11, args_size=6
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.ext.web.Router router
        start local 3 // io.vertx.core.shareddata.LocalMap sessions
        start local 4 // io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions options
        start local 5 // io.vertx.core.Handler sockHandler
         0: .line 74
            aload 0 /* this */
            aload 1 /* vertx */
            aload 3 /* sessions */
            aload 4 /* options */
            invokespecial io.vertx.ext.web.handler.sockjs.impl.BaseTransport.<init>:(Lio/vertx/core/Vertx;Lio/vertx/core/shareddata/LocalMap;Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;)V
         1: .line 76
            ldc "\\/[^\\/\\.]+\\/([^\\/\\.]+)\\/"
            astore 6 /* xhrBase */
        start local 6 // java.lang.String xhrBase
         2: .line 77
            new java.lang.StringBuilder
            dup
            aload 6 /* xhrBase */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "xhr"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* xhrRE */
        start local 7 // java.lang.String xhrRE
         3: .line 78
            new java.lang.StringBuilder
            dup
            aload 6 /* xhrBase */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "xhr_streaming"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* xhrStreamRE */
        start local 8 // java.lang.String xhrStreamRE
         4: .line 80
            aload 4 /* options */
            ldc "OPTIONS, POST"
            invokestatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.createCORSOptionsHandler:(Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;Ljava/lang/String;)Lio/vertx/core/Handler;
            astore 9 /* xhrOptionsHandler */
        start local 9 // io.vertx.core.Handler xhrOptionsHandler
         5: .line 82
            aload 2 /* router */
            aload 7 /* xhrRE */
            invokeinterface io.vertx.ext.web.Router.optionsWithRegex:(Ljava/lang/String;)Lio/vertx/ext/web/Route;
            aload 9 /* xhrOptionsHandler */
            invokeinterface io.vertx.ext.web.Route.handler:(Lio/vertx/core/Handler;)Lio/vertx/ext/web/Route;
            pop
         6: .line 83
            aload 2 /* router */
            aload 8 /* xhrStreamRE */
            invokeinterface io.vertx.ext.web.Router.optionsWithRegex:(Ljava/lang/String;)Lio/vertx/ext/web/Route;
            aload 9 /* xhrOptionsHandler */
            invokeinterface io.vertx.ext.web.Route.handler:(Lio/vertx/core/Handler;)Lio/vertx/ext/web/Route;
            pop
         7: .line 85
            aload 0 /* this */
            aload 2 /* router */
            aload 5 /* sockHandler */
            aload 7 /* xhrRE */
            iconst_0
            aload 4 /* options */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.XhrTransport.registerHandler:(Lio/vertx/ext/web/Router;Lio/vertx/core/Handler;Ljava/lang/String;ZLio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;)V
         8: .line 86
            aload 0 /* this */
            aload 2 /* router */
            aload 5 /* sockHandler */
            aload 8 /* xhrStreamRE */
            iconst_1
            aload 4 /* options */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.XhrTransport.registerHandler:(Lio/vertx/ext/web/Router;Lio/vertx/core/Handler;Ljava/lang/String;ZLio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;)V
         9: .line 88
            ldc "\\/[^\\/\\.]+\\/([^\\/\\.]+)\\/xhr_send"
            astore 10 /* xhrSendRE */
        start local 10 // java.lang.String xhrSendRE
        10: .line 90
            aload 2 /* router */
            aload 10 /* xhrSendRE */
            invokeinterface io.vertx.ext.web.Router.optionsWithRegex:(Ljava/lang/String;)Lio/vertx/ext/web/Route;
            aload 9 /* xhrOptionsHandler */
            invokeinterface io.vertx.ext.web.Route.handler:(Lio/vertx/core/Handler;)Lio/vertx/ext/web/Route;
            pop
        11: .line 92
            aload 2 /* router */
            aload 10 /* xhrSendRE */
            invokeinterface io.vertx.ext.web.Router.postWithRegex:(Ljava/lang/String;)Lio/vertx/ext/web/Route;
            aload 0 /* this */
            aload 3 /* sessions */
            aload 4 /* options */
            invokedynamic handle(Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;Lio/vertx/core/shareddata/LocalMap;Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;)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/sockjs/impl/XhrTransport.lambda$0(Lio/vertx/core/shareddata/LocalMap;Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;Lio/vertx/ext/web/RoutingContext;)V (7)
                  (Lio/vertx/ext/web/RoutingContext;)V
            invokeinterface io.vertx.ext.web.Route.handler:(Lio/vertx/core/Handler;)Lio/vertx/ext/web/Route;
            pop
        12: .line 104
            return
        end local 10 // java.lang.String xhrSendRE
        end local 9 // io.vertx.core.Handler xhrOptionsHandler
        end local 8 // java.lang.String xhrStreamRE
        end local 7 // java.lang.String xhrRE
        end local 6 // java.lang.String xhrBase
        end local 5 // io.vertx.core.Handler sockHandler
        end local 4 // io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions options
        end local 3 // io.vertx.core.shareddata.LocalMap sessions
        end local 2 // io.vertx.ext.web.Router router
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;
            0   13     1              vertx  Lio/vertx/core/Vertx;
            0   13     2             router  Lio/vertx/ext/web/Router;
            0   13     3           sessions  Lio/vertx/core/shareddata/LocalMap<Ljava/lang/String;Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;>;
            0   13     4            options  Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;
            0   13     5        sockHandler  Lio/vertx/core/Handler<Lio/vertx/ext/web/handler/sockjs/SockJSSocket;>;
            2   13     6            xhrBase  Ljava/lang/String;
            3   13     7              xhrRE  Ljava/lang/String;
            4   13     8        xhrStreamRE  Ljava/lang/String;
            5   13     9  xhrOptionsHandler  Lio/vertx/core/Handler<Lio/vertx/ext/web/RoutingContext;>;
           10   13    10          xhrSendRE  Ljava/lang/String;
    Signature: (Lio/vertx/core/Vertx;Lio/vertx/ext/web/Router;Lio/vertx/core/shareddata/LocalMap<Ljava/lang/String;Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;>;Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;Lio/vertx/core/Handler<Lio/vertx/ext/web/handler/sockjs/SockJSSocket;>;)V
    MethodParameters:
             Name  Flags
      vertx        
      router       
      sessions     
      options      
      sockHandler  

  private void registerHandler(io.vertx.ext.web.Router, io.vertx.core.Handler<io.vertx.ext.web.handler.sockjs.SockJSSocket>, java.lang.String, boolean, io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions);
    descriptor: (Lio/vertx/ext/web/Router;Lio/vertx/core/Handler;Ljava/lang/String;ZLio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
        start local 1 // io.vertx.ext.web.Router router
        start local 2 // io.vertx.core.Handler sockHandler
        start local 3 // java.lang.String re
        start local 4 // boolean streaming
        start local 5 // io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions options
         0: .line 108
            aload 1 /* router */
            aload 3 /* re */
            invokeinterface io.vertx.ext.web.Router.postWithRegex:(Ljava/lang/String;)Lio/vertx/ext/web/Route;
            aload 0 /* this */
            aload 5 /* options */
            aload 2 /* sockHandler */
            iload 4 /* streaming */
            invokedynamic handle(Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;Lio/vertx/core/Handler;Z)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/sockjs/impl/XhrTransport.lambda$1(Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;Lio/vertx/core/Handler;ZLio/vertx/ext/web/RoutingContext;)V (7)
                  (Lio/vertx/ext/web/RoutingContext;)V
            invokeinterface io.vertx.ext.web.Route.handler:(Lio/vertx/core/Handler;)Lio/vertx/ext/web/Route;
            pop
         1: .line 116
            return
        end local 5 // io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions options
        end local 4 // boolean streaming
        end local 3 // java.lang.String re
        end local 2 // io.vertx.core.Handler sockHandler
        end local 1 // io.vertx.ext.web.Router router
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;
            0    2     1       router  Lio/vertx/ext/web/Router;
            0    2     2  sockHandler  Lio/vertx/core/Handler<Lio/vertx/ext/web/handler/sockjs/SockJSSocket;>;
            0    2     3           re  Ljava/lang/String;
            0    2     4    streaming  Z
            0    2     5      options  Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;
    Signature: (Lio/vertx/ext/web/Router;Lio/vertx/core/Handler<Lio/vertx/ext/web/handler/sockjs/SockJSSocket;>;Ljava/lang/String;ZLio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;)V
    MethodParameters:
             Name  Flags
      router       
      sockHandler  
      re           
      streaming    
      options      

  private void handleSend(io.vertx.ext.web.RoutingContext, io.vertx.ext.web.handler.sockjs.impl.SockJSSession);
    descriptor: (Lio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
        start local 1 // io.vertx.ext.web.RoutingContext rc
        start local 2 // io.vertx.ext.web.handler.sockjs.impl.SockJSSession session
         0: .line 119
            aload 1 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.getBody:()Lio/vertx/core/buffer/Buffer;
            astore 3 /* body */
        start local 3 // io.vertx.core.buffer.Buffer body
         1: .line 120
            aload 3 /* body */
            ifnull 4
         2: .line 121
            aload 0 /* this */
            aload 1 /* rc */
            aload 2 /* session */
            aload 3 /* body */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.XhrTransport.handleSendMessage:(Lio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;Lio/vertx/core/buffer/Buffer;)V
         3: .line 122
            goto 9
      StackMap locals: io.vertx.core.buffer.Buffer
      StackMap stack:
         4: aload 1 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
            invokeinterface io.vertx.core.http.HttpServerRequest.isEnded:()Z
            ifeq 8
         5: .line 123
            getstatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.log:Lio/vertx/core/logging/Logger;
            ldc "Request ended before SockJS handler could read the body. Do you have an asynchronous request handler before the SockJS handler? If so, add a BodyHandler before the SockJS handler (see the docs)."
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;)V
         6: .line 126
            aload 1 /* rc */
            sipush 500
            invokeinterface io.vertx.ext.web.RoutingContext.fail:(I)V
         7: .line 127
            goto 9
         8: .line 128
      StackMap locals:
      StackMap stack:
            aload 1 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
            aload 0 /* this */
            aload 1 /* rc */
            aload 2 /* session */
            invokedynamic handle(Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;Lio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;)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/sockjs/impl/XhrTransport.lambda$2(Lio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;Lio/vertx/core/buffer/Buffer;)V (7)
                  (Lio/vertx/core/buffer/Buffer;)V
            invokeinterface io.vertx.core.http.HttpServerRequest.bodyHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerRequest;
            pop
         9: .line 130
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.buffer.Buffer body
        end local 2 // io.vertx.ext.web.handler.sockjs.impl.SockJSSession session
        end local 1 // io.vertx.ext.web.RoutingContext rc
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;
            0   10     1       rc  Lio/vertx/ext/web/RoutingContext;
            0   10     2  session  Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;
            1   10     3     body  Lio/vertx/core/buffer/Buffer;
    MethodParameters:
         Name  Flags
      rc       
      session  

  private void handleSendMessage(io.vertx.ext.web.RoutingContext, io.vertx.ext.web.handler.sockjs.impl.SockJSSession, io.vertx.core.buffer.Buffer);
    descriptor: (Lio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;Lio/vertx/core/buffer/Buffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
        start local 1 // io.vertx.ext.web.RoutingContext rc
        start local 2 // io.vertx.ext.web.handler.sockjs.impl.SockJSSession session
        start local 3 // io.vertx.core.buffer.Buffer body
         0: .line 133
            aload 3 /* body */
            invokeinterface io.vertx.core.buffer.Buffer.toString:()Ljava/lang/String;
            astore 4 /* msgs */
        start local 4 // java.lang.String msgs
         1: .line 134
            aload 4 /* msgs */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         2: .line 135
            aload 1 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            sipush 500
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusCode:(I)Lio/vertx/core/http/HttpServerResponse;
            pop
         3: .line 136
            aload 1 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            ldc "Payload expected."
            invokeinterface io.vertx.core.http.HttpServerResponse.end:(Ljava/lang/String;)V
         4: .line 137
            return
         5: .line 139
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* session */
            aload 4 /* msgs */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.SockJSSession.handleMessages:(Ljava/lang/String;)Z
            ifne 8
         6: .line 140
            aload 0 /* this */
            aload 1 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.XhrTransport.sendInvalidJSON:(Lio/vertx/core/http/HttpServerResponse;)V
         7: .line 141
            goto 14
         8: .line 142
      StackMap locals:
      StackMap stack:
            aload 1 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            ldc "Content-Type"
            ldc "text/plain; charset=UTF-8"
            invokeinterface io.vertx.core.http.HttpServerResponse.putHeader:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/http/HttpServerResponse;
            pop
         9: .line 143
            aload 1 /* rc */
            invokestatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.setNoCacheHeaders:(Lio/vertx/ext/web/RoutingContext;)V
        10: .line 144
            aload 0 /* this */
            getfield io.vertx.ext.web.handler.sockjs.impl.XhrTransport.options:Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;
            aload 1 /* rc */
            invokestatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.setJSESSIONID:(Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;Lio/vertx/ext/web/RoutingContext;)V
        11: .line 145
            aload 1 /* rc */
            invokestatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.setCORS:(Lio/vertx/ext/web/RoutingContext;)V
        12: .line 146
            aload 1 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            sipush 204
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusCode:(I)Lio/vertx/core/http/HttpServerResponse;
            pop
        13: .line 147
            aload 1 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            invokeinterface io.vertx.core.http.HttpServerResponse.end:()V
        14: .line 149
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.log:Lio/vertx/core/logging/Logger;
            invokevirtual io.vertx.core.logging.Logger.isTraceEnabled:()Z
            ifeq 15
            getstatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.log:Lio/vertx/core/logging/Logger;
            ldc "XHR send processed ok"
            invokevirtual io.vertx.core.logging.Logger.trace:(Ljava/lang/Object;)V
        15: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String msgs
        end local 3 // io.vertx.core.buffer.Buffer body
        end local 2 // io.vertx.ext.web.handler.sockjs.impl.SockJSSession session
        end local 1 // io.vertx.ext.web.RoutingContext rc
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;
            0   16     1       rc  Lio/vertx/ext/web/RoutingContext;
            0   16     2  session  Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;
            0   16     3     body  Lio/vertx/core/buffer/Buffer;
            1   16     4     msgs  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      rc       
      session  
      body     

  private void lambda$0(io.vertx.core.shareddata.LocalMap, io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions, io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/core/shareddata/LocalMap;Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;Lio/vertx/ext/web/RoutingContext;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
        start local 3 // io.vertx.ext.web.RoutingContext rc
         0: .line 93
            getstatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.log:Lio/vertx/core/logging/Logger;
            invokevirtual io.vertx.core.logging.Logger.isTraceEnabled:()Z
            ifeq 1
            getstatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "XHR send, post, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
            invokeinterface io.vertx.core.http.HttpServerRequest.uri:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.logging.Logger.trace:(Ljava/lang/Object;)V
         1: .line 94
      StackMap locals:
      StackMap stack:
            aload 3 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
            ldc "param0"
            invokeinterface io.vertx.core.http.HttpServerRequest.getParam:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* sessionID */
        start local 4 // java.lang.String sessionID
         2: .line 95
            aload 1
            aload 4 /* sessionID */
            invokeinterface io.vertx.core.shareddata.LocalMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.web.handler.sockjs.impl.SockJSSession
            astore 5 /* session */
        start local 5 // io.vertx.ext.web.handler.sockjs.impl.SockJSSession session
         3: .line 96
            aload 5 /* session */
            ifnull 6
            aload 5 /* session */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.SockJSSession.isClosed:()Z
            ifne 6
         4: .line 97
            aload 0 /* this */
            aload 3 /* rc */
            aload 5 /* session */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.XhrTransport.handleSend:(Lio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;)V
         5: .line 98
            goto 9
         6: .line 99
      StackMap locals: java.lang.String io.vertx.ext.web.handler.sockjs.impl.SockJSSession
      StackMap stack:
            aload 3 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            sipush 404
            invokeinterface io.vertx.core.http.HttpServerResponse.setStatusCode:(I)Lio/vertx/core/http/HttpServerResponse;
            pop
         7: .line 100
            aload 2
            aload 3 /* rc */
            invokestatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.setJSESSIONID:(Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;Lio/vertx/ext/web/RoutingContext;)V
         8: .line 101
            aload 3 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.response:()Lio/vertx/core/http/HttpServerResponse;
            invokeinterface io.vertx.core.http.HttpServerResponse.end:()V
        end local 5 // io.vertx.ext.web.handler.sockjs.impl.SockJSSession session
        end local 4 // java.lang.String sessionID
         9: .line 103
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.ext.web.RoutingContext rc
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;
            0   10     3         rc  Lio/vertx/ext/web/RoutingContext;
            2    9     4  sessionID  Ljava/lang/String;
            3    9     5    session  Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;

  private void lambda$1(io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions, io.vertx.core.Handler, boolean, io.vertx.ext.web.RoutingContext);
    descriptor: (Lio/vertx/ext/web/handler/sockjs/SockJSHandlerOptions;Lio/vertx/core/Handler;ZLio/vertx/ext/web/RoutingContext;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=8, locals=8, args_size=5
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
        start local 4 // io.vertx.ext.web.RoutingContext rc
         0: .line 109
            getstatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.log:Lio/vertx/core/logging/Logger;
            invokevirtual io.vertx.core.logging.Logger.isTraceEnabled:()Z
            ifeq 1
            getstatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "XHR, post, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
            invokeinterface io.vertx.core.http.HttpServerRequest.uri:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.logging.Logger.trace:(Ljava/lang/Object;)V
         1: .line 110
      StackMap locals:
      StackMap stack:
            aload 4 /* rc */
            invokestatic io.vertx.ext.web.handler.sockjs.impl.XhrTransport.setNoCacheHeaders:(Lio/vertx/ext/web/RoutingContext;)V
         2: .line 111
            aload 4 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
            ldc "param0"
            invokeinterface io.vertx.core.http.HttpServerRequest.getParam:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sessionID */
        start local 5 // java.lang.String sessionID
         3: .line 112
            aload 0 /* this */
            aload 4 /* rc */
            aload 1
            invokevirtual io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions.getSessionTimeout:()J
            aload 1
            invokevirtual io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions.getHeartbeatInterval:()J
            aload 5 /* sessionID */
            aload 2
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.XhrTransport.getSession:(Lio/vertx/ext/web/RoutingContext;JJLjava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;
            astore 6 /* session */
        start local 6 // io.vertx.ext.web.handler.sockjs.impl.SockJSSession session
         4: .line 113
            aload 4 /* rc */
            invokeinterface io.vertx.ext.web.RoutingContext.request:()Lio/vertx/core/http/HttpServerRequest;
            astore 7 /* req */
        start local 7 // io.vertx.core.http.HttpServerRequest req
         5: .line 114
            aload 6 /* session */
            aload 7 /* req */
            iload 3
            ifeq 6
            new io.vertx.ext.web.handler.sockjs.impl.XhrTransport$XhrStreamingListener
            dup
            aload 0 /* this */
            aload 1
            invokevirtual io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions.getMaxBytesStreaming:()I
            aload 4 /* rc */
            aload 6 /* session */
            invokespecial io.vertx.ext.web.handler.sockjs.impl.XhrTransport$XhrStreamingListener.<init>:(Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;ILio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;)V
            goto 7
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.XhrTransport io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions io.vertx.core.Handler int io.vertx.ext.web.RoutingContext java.lang.String io.vertx.ext.web.handler.sockjs.impl.SockJSSession io.vertx.core.http.HttpServerRequest
      StackMap stack: io.vertx.ext.web.handler.sockjs.impl.SockJSSession io.vertx.core.http.HttpServerRequest
         6: new io.vertx.ext.web.handler.sockjs.impl.XhrTransport$XhrPollingListener
            dup
            aload 0 /* this */
            aload 4 /* rc */
            aload 6 /* session */
            invokespecial io.vertx.ext.web.handler.sockjs.impl.XhrTransport$XhrPollingListener.<init>:(Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;Lio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;)V
      StackMap locals: io.vertx.ext.web.handler.sockjs.impl.XhrTransport io.vertx.ext.web.handler.sockjs.SockJSHandlerOptions io.vertx.core.Handler int io.vertx.ext.web.RoutingContext java.lang.String io.vertx.ext.web.handler.sockjs.impl.SockJSSession io.vertx.core.http.HttpServerRequest
      StackMap stack: io.vertx.ext.web.handler.sockjs.impl.SockJSSession io.vertx.core.http.HttpServerRequest io.vertx.ext.web.handler.sockjs.impl.XhrTransport$BaseXhrListener
         7: invokevirtual io.vertx.ext.web.handler.sockjs.impl.SockJSSession.register:(Lio/vertx/core/http/HttpServerRequest;Lio/vertx/ext/web/handler/sockjs/impl/TransportListener;)V
        end local 7 // io.vertx.core.http.HttpServerRequest req
        end local 6 // io.vertx.ext.web.handler.sockjs.impl.SockJSSession session
        end local 5 // java.lang.String sessionID
         8: .line 115
            return
        end local 4 // io.vertx.ext.web.RoutingContext rc
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;
            0    9     4         rc  Lio/vertx/ext/web/RoutingContext;
            3    8     5  sessionID  Ljava/lang/String;
            4    8     6    session  Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;
            5    8     7        req  Lio/vertx/core/http/HttpServerRequest;

  private void lambda$2(io.vertx.ext.web.RoutingContext, io.vertx.ext.web.handler.sockjs.impl.SockJSSession, io.vertx.core.buffer.Buffer);
    descriptor: (Lio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;Lio/vertx/core/buffer/Buffer;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
        start local 3 // io.vertx.core.buffer.Buffer buff
         0: .line 128
            aload 0 /* this */
            aload 1
            aload 2
            aload 3 /* buff */
            invokevirtual io.vertx.ext.web.handler.sockjs.impl.XhrTransport.handleSendMessage:(Lio/vertx/ext/web/RoutingContext;Lio/vertx/ext/web/handler/sockjs/impl/SockJSSession;Lio/vertx/core/buffer/Buffer;)V
            return
        end local 3 // io.vertx.core.buffer.Buffer buff
        end local 0 // io.vertx.ext.web.handler.sockjs.impl.XhrTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/web/handler/sockjs/impl/XhrTransport;
            0    1     3  buff  Lio/vertx/core/buffer/Buffer;
}
SourceFile: "XhrTransport.java"
NestMembers:
  io.vertx.ext.web.handler.sockjs.impl.XhrTransport$BaseXhrListener  io.vertx.ext.web.handler.sockjs.impl.XhrTransport$XhrPollingListener  io.vertx.ext.web.handler.sockjs.impl.XhrTransport$XhrStreamingListener
InnerClasses:
  private abstract BaseXhrListener = io.vertx.ext.web.handler.sockjs.impl.XhrTransport$BaseXhrListener of io.vertx.ext.web.handler.sockjs.impl.XhrTransport
  private XhrPollingListener = io.vertx.ext.web.handler.sockjs.impl.XhrTransport$XhrPollingListener of io.vertx.ext.web.handler.sockjs.impl.XhrTransport
  private XhrStreamingListener = io.vertx.ext.web.handler.sockjs.impl.XhrTransport$XhrStreamingListener of io.vertx.ext.web.handler.sockjs.impl.XhrTransport
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles