public final class io.undertow.server.HttpServerExchange extends io.undertow.util.AbstractAttachable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.undertow.server.HttpServerExchange
  super_class: io.undertow.util.AbstractAttachable
{
  private static final org.jboss.logging.Logger log;
    descriptor: Lorg/jboss/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.RuntimePermission SET_SECURITY_CONTEXT;
    descriptor: Ljava/lang/RuntimePermission;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String ISO_8859_1;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ISO-8859-1"

  private static final java.lang.String HTTPS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "https"

  private static final io.undertow.util.AttachmentKey<java.lang.String> REASON_PHRASE;
    descriptor: Lio/undertow/util/AttachmentKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lio/undertow/util/AttachmentKey<Ljava/lang/String;>;

  static final io.undertow.util.AttachmentKey<io.undertow.connector.PooledByteBuffer[]> BUFFERED_REQUEST_DATA;
    descriptor: Lio/undertow/util/AttachmentKey;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Lio/undertow/util/AttachmentKey<[Lio/undertow/connector/PooledByteBuffer;>;

  public static final io.undertow.util.AttachmentKey<java.util.Map<java.lang.String, java.lang.String>> REQUEST_ATTRIBUTES;
    descriptor: Lio/undertow/util/AttachmentKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lio/undertow/util/AttachmentKey<Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;

  public static final io.undertow.util.AttachmentKey<java.lang.Boolean> SECURE_REQUEST;
    descriptor: Lio/undertow/util/AttachmentKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lio/undertow/util/AttachmentKey<Ljava/lang/Boolean;>;

  private final io.undertow.server.ServerConnection connection;
    descriptor: Lio/undertow/server/ServerConnection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.undertow.util.HeaderMap requestHeaders;
    descriptor: Lio/undertow/util/HeaderMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.undertow.util.HeaderMap responseHeaders;
    descriptor: Lio/undertow/util/HeaderMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int exchangeCompletionListenersCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private io.undertow.server.ExchangeCompletionListener[] exchangeCompleteListeners;
    descriptor: [Lio/undertow/server/ExchangeCompletionListener;
    flags: (0x0002) ACC_PRIVATE

  private io.undertow.server.DefaultResponseListener[] defaultResponseListeners;
    descriptor: [Lio/undertow/server/DefaultResponseListener;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, java.util.Deque<java.lang.String>> queryParameters;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/Deque<Ljava/lang/String;>;>;

  private java.util.Map<java.lang.String, java.util.Deque<java.lang.String>> pathParameters;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/Deque<Ljava/lang/String;>;>;

  private java.util.Map<java.lang.String, io.undertow.server.handlers.Cookie> requestCookies;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/undertow/server/handlers/Cookie;>;

  private java.util.Map<java.lang.String, io.undertow.server.handlers.Cookie> responseCookies;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/undertow/server/handlers/Cookie;>;

  private io.undertow.server.HttpServerExchange$WriteDispatchChannel responseChannel;
    descriptor: Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
    flags: (0x0002) ACC_PRIVATE

  protected io.undertow.server.HttpServerExchange$ReadDispatchChannel requestChannel;
    descriptor: Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
    flags: (0x0004) ACC_PROTECTED

  private io.undertow.server.BlockingHttpExchange blockingHttpExchange;
    descriptor: Lio/undertow/server/BlockingHttpExchange;
    flags: (0x0002) ACC_PRIVATE

  private io.undertow.util.HttpString protocol;
    descriptor: Lio/undertow/util/HttpString;
    flags: (0x0002) ACC_PRIVATE

  private io.undertow.security.api.SecurityContext securityContext;
    descriptor: Lio/undertow/security/api/SecurityContext;
    flags: (0x0002) ACC_PRIVATE

  private int state;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private io.undertow.util.HttpString requestMethod;
    descriptor: Lio/undertow/util/HttpString;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String requestScheme;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String requestURI;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String requestPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String relativePath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String resolvedPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String queryString;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int requestWrapperCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>[] requestWrappers;
    descriptor: [Lio/undertow/server/ConduitWrapper;
    flags: (0x0002) ACC_PRIVATE
    Signature: [Lio/undertow/server/ConduitWrapper<Lorg/xnio/conduits/StreamSourceConduit;>;

  private int responseWrapperCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>[] responseWrappers;
    descriptor: [Lio/undertow/server/ConduitWrapper;
    flags: (0x0002) ACC_PRIVATE
    Signature: [Lio/undertow/server/ConduitWrapper<Lorg/xnio/conduits/StreamSinkConduit;>;

  private io.undertow.io.Sender sender;
    descriptor: Lio/undertow/io/Sender;
    flags: (0x0002) ACC_PRIVATE

  private io.undertow.io.Receiver receiver;
    descriptor: Lio/undertow/io/Receiver;
    flags: (0x0002) ACC_PRIVATE

  private long requestStartTime;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long maxEntitySize;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Runnable dispatchTask;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0002) ACC_PRIVATE

  private java.util.concurrent.Executor dispatchExecutor;
    descriptor: Ljava/util/concurrent/Executor;
    flags: (0x0002) ACC_PRIVATE

  private long responseBytesSent;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private static final int MASK_RESPONSE_CODE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int FLAG_RESPONSE_SENT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  private static final int FLAG_RESPONSE_TERMINATED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2048

  private static final int FLAG_REQUEST_TERMINATED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4096

  private static final int FLAG_PERSISTENT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16384

  private static final int FLAG_DISPATCHED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32768

  private static final int FLAG_URI_CONTAINS_HOST;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 65536

  private static final int FLAG_IN_CALL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 131072

  private static final int FLAG_SHOULD_RESUME_READS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 262144

  private static final int FLAG_SHOULD_RESUME_WRITES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 524288

  private static final int FLAG_REQUEST_RESET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1048576

  private java.net.InetSocketAddress sourceAddress;
    descriptor: Ljava/net/InetSocketAddress;
    flags: (0x0002) ACC_PRIVATE

  private java.net.InetSocketAddress destinationAddress;
    descriptor: Ljava/net/InetSocketAddress;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 96
            ldc Lio/undertow/server/HttpServerExchange;
            invokestatic org.jboss.logging.Logger.getLogger:(Ljava/lang/Class;)Lorg/jboss/logging/Logger;
            putstatic io.undertow.server.HttpServerExchange.log:Lorg/jboss/logging/Logger;
         1: .line 98
            new java.lang.RuntimePermission
            dup
            ldc "io.undertow.SET_SECURITY_CONTEXT"
            invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
            putstatic io.undertow.server.HttpServerExchange.SET_SECURITY_CONTEXT:Ljava/lang/RuntimePermission;
         2: .line 106
            ldc Ljava/lang/String;
            invokestatic io.undertow.util.AttachmentKey.create:(Ljava/lang/Class;)Lio/undertow/util/AttachmentKey;
            putstatic io.undertow.server.HttpServerExchange.REASON_PHRASE:Lio/undertow/util/AttachmentKey;
         3: .line 111
            ldc [Lio/undertow/connector/PooledByteBuffer;
            invokestatic io.undertow.util.AttachmentKey.create:(Ljava/lang/Class;)Lio/undertow/util/AttachmentKey;
            putstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
         4: .line 116
            ldc Ljava/util/Map;
            invokestatic io.undertow.util.AttachmentKey.create:(Ljava/lang/Class;)Lio/undertow/util/AttachmentKey;
            putstatic io.undertow.server.HttpServerExchange.REQUEST_ATTRIBUTES:Lio/undertow/util/AttachmentKey;
         5: .line 121
            ldc Ljava/lang/Boolean;
            invokestatic io.undertow.util.AttachmentKey.create:(Ljava/lang/Class;)Lio/undertow/util/AttachmentKey;
            putstatic io.undertow.server.HttpServerExchange.SECURE_REQUEST:Lio/undertow/util/AttachmentKey;
         6: .line 249
            iconst_0
            bipush 9
            invokestatic org.xnio.Bits.intBitMask:(II)I
            putstatic io.undertow.server.HttpServerExchange.MASK_RESPONSE_CODE:I
         7: .line 313
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(io.undertow.server.ServerConnection, long);
    descriptor: (Lio/undertow/server/ServerConnection;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.ServerConnection connection
        start local 2 // long maxEntitySize
         0: .line 326
            aload 0 /* this */
            aload 1 /* connection */
            new io.undertow.util.HeaderMap
            dup
            invokespecial io.undertow.util.HeaderMap.<init>:()V
            new io.undertow.util.HeaderMap
            dup
            invokespecial io.undertow.util.HeaderMap.<init>:()V
            lload 2 /* maxEntitySize */
            invokespecial io.undertow.server.HttpServerExchange.<init>:(Lio/undertow/server/ServerConnection;Lio/undertow/util/HeaderMap;Lio/undertow/util/HeaderMap;J)V
         1: .line 327
            return
        end local 2 // long maxEntitySize
        end local 1 // io.undertow.server.ServerConnection connection
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/undertow/server/HttpServerExchange;
            0    2     1     connection  Lio/undertow/server/ServerConnection;
            0    2     2  maxEntitySize  J
    MethodParameters:
               Name  Flags
      connection     final
      maxEntitySize  

  public void <init>(io.undertow.server.ServerConnection);
    descriptor: (Lio/undertow/server/ServerConnection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.ServerConnection connection
         0: .line 330
            aload 0 /* this */
            aload 1 /* connection */
            lconst_0
            invokespecial io.undertow.server.HttpServerExchange.<init>:(Lio/undertow/server/ServerConnection;J)V
         1: .line 331
            return
        end local 1 // io.undertow.server.ServerConnection connection
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/undertow/server/HttpServerExchange;
            0    2     1  connection  Lio/undertow/server/ServerConnection;
    MethodParameters:
            Name  Flags
      connection  final

  public void <init>(io.undertow.server.ServerConnection, io.undertow.util.HeaderMap, io.undertow.util.HeaderMap, long);
    descriptor: (Lio/undertow/server/ServerConnection;Lio/undertow/util/HeaderMap;Lio/undertow/util/HeaderMap;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.ServerConnection connection
        start local 2 // io.undertow.util.HeaderMap requestHeaders
        start local 3 // io.undertow.util.HeaderMap responseHeaders
        start local 4 // long maxEntitySize
         0: .line 333
            aload 0 /* this */
            invokespecial io.undertow.util.AbstractAttachable.<init>:()V
         1: .line 127
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
         2: .line 157
            aload 0 /* this */
            sipush 200
            putfield io.undertow.server.HttpServerExchange.state:I
         3: .line 194
            aload 0 /* this */
            ldc ""
            putfield io.undertow.server.HttpServerExchange.resolvedPath:Ljava/lang/String;
         4: .line 199
            aload 0 /* this */
            ldc ""
            putfield io.undertow.server.HttpServerExchange.queryString:Ljava/lang/String;
         5: .line 201
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange.requestWrapperCount:I
         6: .line 204
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange.responseWrapperCount:I
         7: .line 210
            aload 0 /* this */
            ldc -1
            putfield io.undertow.server.HttpServerExchange.requestStartTime:J
         8: .line 246
            aload 0 /* this */
            lconst_0
            putfield io.undertow.server.HttpServerExchange.responseBytesSent:J
         9: .line 334
            aload 0 /* this */
            aload 1 /* connection */
            putfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
        10: .line 335
            aload 0 /* this */
            lload 4 /* maxEntitySize */
            putfield io.undertow.server.HttpServerExchange.maxEntitySize:J
        11: .line 336
            aload 0 /* this */
            aload 2 /* requestHeaders */
            putfield io.undertow.server.HttpServerExchange.requestHeaders:Lio/undertow/util/HeaderMap;
        12: .line 337
            aload 0 /* this */
            aload 3 /* responseHeaders */
            putfield io.undertow.server.HttpServerExchange.responseHeaders:Lio/undertow/util/HeaderMap;
        13: .line 338
            return
        end local 4 // long maxEntitySize
        end local 3 // io.undertow.util.HeaderMap responseHeaders
        end local 2 // io.undertow.util.HeaderMap requestHeaders
        end local 1 // io.undertow.server.ServerConnection connection
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lio/undertow/server/HttpServerExchange;
            0   14     1       connection  Lio/undertow/server/ServerConnection;
            0   14     2   requestHeaders  Lio/undertow/util/HeaderMap;
            0   14     3  responseHeaders  Lio/undertow/util/HeaderMap;
            0   14     4    maxEntitySize  J
    MethodParameters:
                 Name  Flags
      connection       final
      requestHeaders   final
      responseHeaders  final
      maxEntitySize    

  public io.undertow.util.HttpString getProtocol();
    descriptor: ()Lio/undertow/util/HttpString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 346
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.protocol:Lio/undertow/util/HttpString;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange setProtocol(io.undertow.util.HttpString);
    descriptor: (Lio/undertow/util/HttpString;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.util.HttpString protocol
         0: .line 355
            aload 0 /* this */
            aload 1 /* protocol */
            putfield io.undertow.server.HttpServerExchange.protocol:Lio/undertow/util/HttpString;
         1: .line 356
            aload 0 /* this */
            areturn
        end local 1 // io.undertow.util.HttpString protocol
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/undertow/server/HttpServerExchange;
            0    2     1  protocol  Lio/undertow/util/HttpString;
    MethodParameters:
          Name  Flags
      protocol  final

  public boolean isHttp09();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 365
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.protocol:Lio/undertow/util/HttpString;
            getstatic io.undertow.util.Protocols.HTTP_0_9:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public boolean isHttp10();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 374
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.protocol:Lio/undertow/util/HttpString;
            getstatic io.undertow.util.Protocols.HTTP_1_0:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public boolean isHttp11();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 383
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.protocol:Lio/undertow/util/HttpString;
            getstatic io.undertow.util.Protocols.HTTP_1_1:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public boolean isSecure();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 387
            aload 0 /* this */
            getstatic io.undertow.server.HttpServerExchange.SECURE_REQUEST:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 1 /* secure */
        start local 1 // java.lang.Boolean secure
         1: .line 388
            aload 1 /* secure */
            ifnull 3
            aload 1 /* secure */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 3
         2: .line 389
            iconst_1
            ireturn
         3: .line 391
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestScheme:()Ljava/lang/String;
            astore 2 /* scheme */
        start local 2 // java.lang.String scheme
         4: .line 392
            aload 2 /* scheme */
            ifnull 6
            aload 2 /* scheme */
            ldc "https"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 393
            iconst_1
            ireturn
         6: .line 395
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.String scheme
        end local 1 // java.lang.Boolean secure
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lio/undertow/server/HttpServerExchange;
            1    7     1  secure  Ljava/lang/Boolean;
            4    7     2  scheme  Ljava/lang/String;

  public io.undertow.util.HttpString getRequestMethod();
    descriptor: ()Lio/undertow/util/HttpString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 404
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestMethod:Lio/undertow/util/HttpString;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange setRequestMethod(io.undertow.util.HttpString);
    descriptor: (Lio/undertow/util/HttpString;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.util.HttpString requestMethod
         0: .line 413
            aload 0 /* this */
            aload 1 /* requestMethod */
            putfield io.undertow.server.HttpServerExchange.requestMethod:Lio/undertow/util/HttpString;
         1: .line 414
            aload 0 /* this */
            areturn
        end local 1 // io.undertow.util.HttpString requestMethod
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/undertow/server/HttpServerExchange;
            0    2     1  requestMethod  Lio/undertow/util/HttpString;
    MethodParameters:
               Name  Flags
      requestMethod  final

  public java.lang.String getRequestScheme();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 423
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestScheme:Ljava/lang/String;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange setRequestScheme(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.String requestScheme
         0: .line 432
            aload 0 /* this */
            aload 1 /* requestScheme */
            putfield io.undertow.server.HttpServerExchange.requestScheme:Ljava/lang/String;
         1: .line 433
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String requestScheme
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/undertow/server/HttpServerExchange;
            0    2     1  requestScheme  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      requestScheme  final

  public java.lang.String getRequestURI();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 447
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestURI:Ljava/lang/String;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange setRequestURI(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.String requestURI
         0: .line 456
            aload 0 /* this */
            aload 1 /* requestURI */
            putfield io.undertow.server.HttpServerExchange.requestURI:Ljava/lang/String;
         1: .line 457
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String requestURI
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/undertow/server/HttpServerExchange;
            0    2     1  requestURI  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      requestURI  final

  public io.undertow.server.HttpServerExchange setRequestURI(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.String requestURI
        start local 2 // boolean containsHost
         0: .line 467
            aload 0 /* this */
            aload 1 /* requestURI */
            putfield io.undertow.server.HttpServerExchange.requestURI:Ljava/lang/String;
         1: .line 468
            iload 2 /* containsHost */
            ifeq 4
         2: .line 469
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 65536
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         3: .line 470
            goto 5
         4: .line 471
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc -65537
            iand
            putfield io.undertow.server.HttpServerExchange.state:I
         5: .line 473
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // boolean containsHost
        end local 1 // java.lang.String requestURI
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lio/undertow/server/HttpServerExchange;
            0    6     1    requestURI  Ljava/lang/String;
            0    6     2  containsHost  Z
    MethodParameters:
              Name  Flags
      requestURI    final
      containsHost  

  public boolean isHostIncludedInRequestURI();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 486
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 65536
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public java.lang.String getRequestPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 500
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestPath:Ljava/lang/String;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange setRequestPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.String requestPath
         0: .line 509
            aload 0 /* this */
            aload 1 /* requestPath */
            putfield io.undertow.server.HttpServerExchange.requestPath:Ljava/lang/String;
         1: .line 510
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String requestPath
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/undertow/server/HttpServerExchange;
            0    2     1  requestPath  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      requestPath  final

  public java.lang.String getRelativePath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 522
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.relativePath:Ljava/lang/String;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange setRelativePath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.String relativePath
         0: .line 531
            aload 0 /* this */
            aload 1 /* relativePath */
            putfield io.undertow.server.HttpServerExchange.relativePath:Ljava/lang/String;
         1: .line 532
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String relativePath
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/undertow/server/HttpServerExchange;
            0    2     1  relativePath  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      relativePath  final

  public java.lang.String getResolvedPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 541
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.resolvedPath:Ljava/lang/String;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange setResolvedPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.String resolvedPath
         0: .line 550
            aload 0 /* this */
            aload 1 /* resolvedPath */
            putfield io.undertow.server.HttpServerExchange.resolvedPath:Ljava/lang/String;
         1: .line 551
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String resolvedPath
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/undertow/server/HttpServerExchange;
            0    2     1  resolvedPath  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      resolvedPath  final

  public java.lang.String getQueryString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 559
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.queryString:Ljava/lang/String;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange setQueryString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.String queryString
         0: .line 563
            aload 0 /* this */
            aload 1 /* queryString */
            putfield io.undertow.server.HttpServerExchange.queryString:Ljava/lang/String;
         1: .line 564
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String queryString
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/undertow/server/HttpServerExchange;
            0    2     1  queryString  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      queryString  final

  public java.lang.String getRequestURL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 574
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.isHostIncludedInRequestURI:()Z
            ifeq 2
         1: .line 575
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestURI:()Ljava/lang/String;
            areturn
         2: .line 577
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestScheme:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "://"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getHostAndPort:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestURI:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/HttpServerExchange;

  public java.lang.String getRequestCharset();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 588
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestHeaders:Lio/undertow/util/HeaderMap;
            invokevirtual io.undertow.server.HttpServerExchange.extractCharset:(Lio/undertow/util/HeaderMap;)Ljava/lang/String;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public java.lang.String getResponseCharset();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 598
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseHeaders:Lio/undertow/util/HeaderMap;
            astore 1 /* headers */
        start local 1 // io.undertow.util.HeaderMap headers
         1: .line 599
            aload 0 /* this */
            aload 1 /* headers */
            invokevirtual io.undertow.server.HttpServerExchange.extractCharset:(Lio/undertow/util/HeaderMap;)Ljava/lang/String;
            areturn
        end local 1 // io.undertow.util.HeaderMap headers
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/undertow/server/HttpServerExchange;
            1    2     1  headers  Lio/undertow/util/HeaderMap;

  private java.lang.String extractCharset(io.undertow.util.HeaderMap);
    descriptor: (Lio/undertow/util/HeaderMap;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.util.HeaderMap headers
         0: .line 603
            aload 1 /* headers */
            getstatic io.undertow.util.Headers.CONTENT_TYPE:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.getFirst:(Lio/undertow/util/HttpString;)Ljava/lang/String;
            astore 2 /* contentType */
        start local 2 // java.lang.String contentType
         1: .line 604
            aload 2 /* contentType */
            ifnull 5
         2: .line 605
            aload 2 /* contentType */
            ldc "charset"
            invokestatic io.undertow.util.Headers.extractQuotedValueFromHeader:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         3: .line 606
            aload 3 /* value */
            ifnull 5
         4: .line 607
            aload 3 /* value */
            areturn
        end local 3 // java.lang.String value
         5: .line 610
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "ISO-8859-1"
            areturn
        end local 2 // java.lang.String contentType
        end local 1 // io.undertow.util.HeaderMap headers
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lio/undertow/server/HttpServerExchange;
            0    6     1      headers  Lio/undertow/util/HeaderMap;
            1    6     2  contentType  Ljava/lang/String;
            3    5     3        value  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      headers  

  public java.lang.String getHostName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 624
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestHeaders:Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.HOST:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.getFirst:(Lio/undertow/util/HttpString;)Ljava/lang/String;
            astore 1 /* host */
        start local 1 // java.lang.String host
         1: .line 625
            aload 1 /* host */
            ifnonnull 4
         2: .line 626
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getDestinationAddress:()Ljava/net/InetSocketAddress;
            invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
            astore 1 /* host */
         3: .line 627
            goto 9
         4: .line 628
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* host */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         5: .line 629
            aload 1 /* host */
            iconst_1
            aload 1 /* host */
            bipush 93
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* host */
         6: .line 630
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 1 /* host */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 9
         8: .line 631
            aload 1 /* host */
            iconst_0
            aload 1 /* host */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* host */
         9: .line 634
      StackMap locals:
      StackMap stack:
            aload 1 /* host */
            areturn
        end local 1 // java.lang.String host
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/undertow/server/HttpServerExchange;
            1   10     1  host  Ljava/lang/String;

  public java.lang.String getHostAndPort();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 647
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestHeaders:Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.HOST:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.getFirst:(Lio/undertow/util/HttpString;)Ljava/lang/String;
            astore 1 /* host */
        start local 1 // java.lang.String host
         1: .line 648
            aload 1 /* host */
            ifnonnull 8
         2: .line 649
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getDestinationAddress:()Ljava/net/InetSocketAddress;
            astore 2 /* address */
        start local 2 // java.net.InetSocketAddress address
         3: .line 650
            aload 2 /* address */
            invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
            invokestatic io.undertow.util.NetworkUtils.formatPossibleIpv6Address:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* host */
         4: .line 651
            aload 2 /* address */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            istore 3 /* port */
        start local 3 // int port
         5: .line 652
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestScheme:()Ljava/lang/String;
            ldc "http"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
            iload 3 /* port */
            bipush 80
            if_icmpeq 8
         6: .line 653
      StackMap locals: java.lang.String java.net.InetSocketAddress int
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestScheme:()Ljava/lang/String;
            ldc "https"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
            iload 3 /* port */
            sipush 443
            if_icmpeq 8
         7: .line 654
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* host */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* host */
        end local 3 // int port
        end local 2 // java.net.InetSocketAddress address
         8: .line 657
      StackMap locals:
      StackMap stack:
            aload 1 /* host */
            areturn
        end local 1 // java.lang.String host
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lio/undertow/server/HttpServerExchange;
            1    9     1     host  Ljava/lang/String;
            3    8     2  address  Ljava/net/InetSocketAddress;
            5    8     3     port  I

  public int getHostPort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 667
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestHeaders:Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.HOST:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.getFirst:(Lio/undertow/util/HttpString;)Ljava/lang/String;
            astore 1 /* host */
        start local 1 // java.lang.String host
         1: .line 668
            aload 1 /* host */
            ifnull 14
         2: .line 671
            aload 1 /* host */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 672
            aload 1 /* host */
            bipush 58
            aload 1 /* host */
            bipush 93
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.indexOf:(II)I
            istore 2 /* colonIndex */
        start local 2 // int colonIndex
         4: .line 673
            goto 6
        end local 2 // int colonIndex
         5: .line 674
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* host */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* colonIndex */
        start local 2 // int colonIndex
         6: .line 676
      StackMap locals: int
      StackMap stack:
            iload 2 /* colonIndex */
            iconst_m1
            if_icmpeq 10
         7: .line 678
            aload 1 /* host */
            iload 2 /* colonIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
         8: ireturn
         9: .line 679
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        10: .line 681
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestScheme:()Ljava/lang/String;
            ldc "https"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 682
            sipush 443
            ireturn
        12: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestScheme:()Ljava/lang/String;
            ldc "http"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 684
            bipush 80
            ireturn
        end local 2 // int colonIndex
        14: .line 688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getDestinationAddress:()Ljava/net/InetSocketAddress;
            invokevirtual java.net.InetSocketAddress.getPort:()I
            ireturn
        end local 1 // java.lang.String host
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lio/undertow/server/HttpServerExchange;
            1   15     1        host  Ljava/lang/String;
            4    5     2  colonIndex  I
            6   14     2  colonIndex  I
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.NumberFormatException

  public io.undertow.server.ServerConnection getConnection();
    descriptor: ()Lio/undertow/server/ServerConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 697
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public boolean isPersistent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 701
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            sipush 16384
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public boolean isInIoThread();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 709
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getIoThread:()Lorg/xnio/XnioIoThread;
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/HttpServerExchange;

  public boolean isUpgrade();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 717
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getStatusCode:()I
            bipush 101
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/HttpServerExchange;

  public long getResponseBytesSent();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 725
            aload 0 /* this */
            invokestatic io.undertow.server.Connectors.isEntityBodyAllowed:(Lio/undertow/server/HttpServerExchange;)Z
            ifeq 2
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestMethod:()Lio/undertow/util/HttpString;
            getstatic io.undertow.util.Methods.HEAD:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
            ifne 2
         1: .line 726
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseBytesSent:J
            lreturn
         2: .line 728
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/HttpServerExchange;

  void updateBytesSent(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // long bytes
         0: .line 737
            aload 0 /* this */
            invokestatic io.undertow.server.Connectors.isEntityBodyAllowed:(Lio/undertow/server/HttpServerExchange;)Z
            ifeq 2
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestMethod:()Lio/undertow/util/HttpString;
            getstatic io.undertow.util.Methods.HEAD:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
            ifne 2
         1: .line 738
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.responseBytesSent:J
            lload 1 /* bytes */
            ladd
            putfield io.undertow.server.HttpServerExchange.responseBytesSent:J
         2: .line 740
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long bytes
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/undertow/server/HttpServerExchange;
            0    3     1  bytes  J
    MethodParameters:
       Name  Flags
      bytes  

  public io.undertow.server.HttpServerExchange setPersistent(boolean);
    descriptor: (Z)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // boolean persistent
         0: .line 743
            iload 1 /* persistent */
            ifeq 3
         1: .line 744
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            sipush 16384
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         2: .line 745
            goto 4
         3: .line 746
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            sipush -16385
            iand
            putfield io.undertow.server.HttpServerExchange.state:I
         4: .line 748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // boolean persistent
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lio/undertow/server/HttpServerExchange;
            0    5     1  persistent  Z
    MethodParameters:
            Name  Flags
      persistent  final

  public boolean isDispatched();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 752
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 32768
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange unDispatch();
    descriptor: ()Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 756
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc -32769
            iand
            putfield io.undertow.server.HttpServerExchange.state:I
         1: .line 757
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.HttpServerExchange.dispatchTask:Ljava/lang/Runnable;
         2: .line 758
            aload 0 /* this */
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange dispatch();
    descriptor: ()Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 770
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 32768
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         1: .line 771
            aload 0 /* this */
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/HttpServerExchange;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public io.undertow.server.HttpServerExchange dispatch(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.Runnable runnable
         0: .line 786
            aload 0 /* this */
            aconst_null
            aload 1 /* runnable */
            invokevirtual io.undertow.server.HttpServerExchange.dispatch:(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Lio/undertow/server/HttpServerExchange;
            pop
         1: .line 787
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Runnable runnable
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/undertow/server/HttpServerExchange;
            0    2     1  runnable  Ljava/lang/Runnable;
    MethodParameters:
          Name  Flags
      runnable  final

  public io.undertow.server.HttpServerExchange dispatch(java.util.concurrent.Executor, java.lang.Runnable);
    descriptor: (Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.util.concurrent.Executor executor
        start local 2 // java.lang.Runnable runnable
         0: .line 802
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.isInCall:()Z
            ifeq 8
         1: .line 803
            aload 1 /* executor */
            ifnull 3
         2: .line 804
            aload 0 /* this */
            aload 1 /* executor */
            putfield io.undertow.server.HttpServerExchange.dispatchExecutor:Ljava/util/concurrent/Executor;
         3: .line 806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 32768
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         4: .line 807
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 786432
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 6
         5: .line 808
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.resumedAndDispatched:()Ljava/lang/IllegalStateException;
            athrow
         6: .line 810
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* runnable */
            putfield io.undertow.server.HttpServerExchange.dispatchTask:Ljava/lang/Runnable;
         7: .line 811
            goto 12
         8: .line 812
      StackMap locals:
      StackMap stack:
            aload 1 /* executor */
            ifnonnull 11
         9: .line 813
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getWorker:()Lorg/xnio/XnioWorker;
            aload 2 /* runnable */
            invokevirtual org.xnio.XnioWorker.execute:(Ljava/lang/Runnable;)V
        10: .line 814
            goto 12
        11: .line 815
      StackMap locals:
      StackMap stack:
            aload 1 /* executor */
            aload 2 /* runnable */
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        12: .line 818
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // java.lang.Runnable runnable
        end local 1 // java.util.concurrent.Executor executor
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lio/undertow/server/HttpServerExchange;
            0   13     1  executor  Ljava/util/concurrent/Executor;
            0   13     2  runnable  Ljava/lang/Runnable;
    MethodParameters:
          Name  Flags
      executor  final
      runnable  final

  public io.undertow.server.HttpServerExchange dispatch(io.undertow.server.HttpHandler);
    descriptor: (Lio/undertow/server/HttpHandler;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.HttpHandler handler
         0: .line 822
            aload 0 /* this */
            aconst_null
            aload 1 /* handler */
            invokevirtual io.undertow.server.HttpServerExchange.dispatch:(Ljava/util/concurrent/Executor;Lio/undertow/server/HttpHandler;)Lio/undertow/server/HttpServerExchange;
            pop
         1: .line 823
            aload 0 /* this */
            areturn
        end local 1 // io.undertow.server.HttpHandler handler
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/undertow/server/HttpServerExchange;
            0    2     1  handler  Lio/undertow/server/HttpHandler;
    MethodParameters:
         Name  Flags
      handler  final

  public io.undertow.server.HttpServerExchange dispatch(java.util.concurrent.Executor, io.undertow.server.HttpHandler);
    descriptor: (Ljava/util/concurrent/Executor;Lio/undertow/server/HttpHandler;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.util.concurrent.Executor executor
        start local 2 // io.undertow.server.HttpHandler handler
         0: .line 827
            new io.undertow.server.HttpServerExchange$1
            dup
            aload 0 /* this */
            aload 2 /* handler */
            invokespecial io.undertow.server.HttpServerExchange$1.<init>:(Lio/undertow/server/HttpServerExchange;Lio/undertow/server/HttpHandler;)V
            astore 3 /* runnable */
        start local 3 // java.lang.Runnable runnable
         1: .line 833
            aload 0 /* this */
            aload 1 /* executor */
            aload 3 /* runnable */
            invokevirtual io.undertow.server.HttpServerExchange.dispatch:(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Lio/undertow/server/HttpServerExchange;
            pop
         2: .line 834
            aload 0 /* this */
            areturn
        end local 3 // java.lang.Runnable runnable
        end local 2 // io.undertow.server.HttpHandler handler
        end local 1 // java.util.concurrent.Executor executor
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/undertow/server/HttpServerExchange;
            0    3     1  executor  Ljava/util/concurrent/Executor;
            0    3     2   handler  Lio/undertow/server/HttpHandler;
            1    3     3  runnable  Ljava/lang/Runnable;
    MethodParameters:
          Name  Flags
      executor  final
      handler   final

  public io.undertow.server.HttpServerExchange setDispatchExecutor(java.util.concurrent.Executor);
    descriptor: (Ljava/util/concurrent/Executor;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.util.concurrent.Executor executor
         0: .line 843
            aload 1 /* executor */
            ifnonnull 3
         1: .line 844
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.HttpServerExchange.dispatchExecutor:Ljava/util/concurrent/Executor;
         2: .line 845
            goto 4
         3: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* executor */
            putfield io.undertow.server.HttpServerExchange.dispatchExecutor:Ljava/util/concurrent/Executor;
         4: .line 848
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.util.concurrent.Executor executor
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lio/undertow/server/HttpServerExchange;
            0    5     1  executor  Ljava/util/concurrent/Executor;
    MethodParameters:
          Name  Flags
      executor  final

  public java.util.concurrent.Executor getDispatchExecutor();
    descriptor: ()Ljava/util/concurrent/Executor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 857
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.dispatchExecutor:Ljava/util/concurrent/Executor;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  java.lang.Runnable getDispatchTask();
    descriptor: ()Ljava/lang/Runnable;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 864
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.dispatchTask:Ljava/lang/Runnable;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  boolean isInCall();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 868
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 131072
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  io.undertow.server.HttpServerExchange setInCall(boolean);
    descriptor: (Z)Lio/undertow/server/HttpServerExchange;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // boolean value
         0: .line 872
            iload 1 /* value */
            ifeq 3
         1: .line 873
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 131072
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         2: .line 874
            goto 4
         3: .line 875
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc -131073
            iand
            putfield io.undertow.server.HttpServerExchange.state:I
         4: .line 877
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // boolean value
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/undertow/server/HttpServerExchange;
            0    5     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  public io.undertow.server.HttpServerExchange upgradeChannel(io.undertow.server.HttpUpgradeListener);
    descriptor: (Lio/undertow/server/HttpUpgradeListener;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.HttpUpgradeListener listener
         0: .line 890
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.isUpgradeSupported:()Z
            ifne 2
         1: .line 891
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.upgradeNotSupported:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 893
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.UPGRADE:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.contains:(Lio/undertow/util/HttpString;)Z
            ifne 4
         3: .line 894
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.notAnUpgradeRequest:()Ljava/lang/IllegalStateException;
            athrow
         4: .line 896
      StackMap locals:
      StackMap stack:
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Upgrading request %s"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 897
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            aload 1 /* listener */
            invokevirtual io.undertow.server.ServerConnection.setUpgradeListener:(Lio/undertow/server/HttpUpgradeListener;)V
         6: .line 898
            aload 0 /* this */
            bipush 101
            invokevirtual io.undertow.server.HttpServerExchange.setStatusCode:(I)Lio/undertow/server/HttpServerExchange;
            pop
         7: .line 899
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.CONNECTION:Lio/undertow/util/HttpString;
            ldc "Upgrade"
            invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
            pop
         8: .line 900
            aload 0 /* this */
            areturn
        end local 1 // io.undertow.server.HttpUpgradeListener listener
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lio/undertow/server/HttpServerExchange;
            0    9     1  listener  Lio/undertow/server/HttpUpgradeListener;
    MethodParameters:
          Name  Flags
      listener  final

  public io.undertow.server.HttpServerExchange upgradeChannel(java.lang.String, io.undertow.server.HttpUpgradeListener);
    descriptor: (Ljava/lang/String;Lio/undertow/server/HttpUpgradeListener;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.String productName
        start local 2 // io.undertow.server.HttpUpgradeListener listener
         0: .line 913
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.isUpgradeSupported:()Z
            ifne 2
         1: .line 914
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.upgradeNotSupported:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 916
      StackMap locals:
      StackMap stack:
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Upgrading request %s"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 917
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            aload 2 /* listener */
            invokevirtual io.undertow.server.ServerConnection.setUpgradeListener:(Lio/undertow/server/HttpUpgradeListener;)V
         4: .line 918
            aload 0 /* this */
            bipush 101
            invokevirtual io.undertow.server.HttpServerExchange.setStatusCode:(I)Lio/undertow/server/HttpServerExchange;
            pop
         5: .line 919
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
            astore 3 /* headers */
        start local 3 // io.undertow.util.HeaderMap headers
         6: .line 920
            aload 3 /* headers */
            getstatic io.undertow.util.Headers.UPGRADE:Lio/undertow/util/HttpString;
            aload 1 /* productName */
            invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
            pop
         7: .line 921
            aload 3 /* headers */
            getstatic io.undertow.util.Headers.CONNECTION:Lio/undertow/util/HttpString;
            ldc "Upgrade"
            invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
            pop
         8: .line 922
            aload 0 /* this */
            areturn
        end local 3 // io.undertow.util.HeaderMap headers
        end local 2 // io.undertow.server.HttpUpgradeListener listener
        end local 1 // java.lang.String productName
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lio/undertow/server/HttpServerExchange;
            0    9     1  productName  Ljava/lang/String;
            0    9     2     listener  Lio/undertow/server/HttpUpgradeListener;
            6    9     3      headers  Lio/undertow/util/HeaderMap;
    MethodParameters:
             Name  Flags
      productName  
      listener     final

  public io.undertow.server.HttpServerExchange acceptConnectRequest(io.undertow.server.HttpUpgradeListener);
    descriptor: (Lio/undertow/server/HttpUpgradeListener;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.HttpUpgradeListener connectListener
         0: .line 931
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestMethod:()Lio/undertow/util/HttpString;
            getstatic io.undertow.util.Methods.CONNECT:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
            ifne 2
         1: .line 932
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.notAConnectRequest:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 934
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            aload 1 /* connectListener */
            invokevirtual io.undertow.server.ServerConnection.setConnectListener:(Lio/undertow/server/HttpUpgradeListener;)V
         3: .line 935
            aload 0 /* this */
            areturn
        end local 1 // io.undertow.server.HttpUpgradeListener connectListener
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lio/undertow/server/HttpServerExchange;
            0    4     1  connectListener  Lio/undertow/server/HttpUpgradeListener;
    MethodParameters:
                 Name  Flags
      connectListener  

  public io.undertow.server.HttpServerExchange addExchangeCompleteListener(io.undertow.server.ExchangeCompletionListener);
    descriptor: (Lio/undertow/server/ExchangeCompletionListener;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.ExchangeCompletionListener listener
         0: .line 940
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.isComplete:()Z
            ifne 1
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
            iconst_m1
            if_icmpne 2
         1: .line 941
      StackMap locals:
      StackMap stack:
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.exchangeAlreadyComplete:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 943
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
            dup_x1
            iconst_1
            iadd
            putfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
            istore 2 /* exchangeCompletionListenersCount */
        start local 2 // int exchangeCompletionListenersCount
         3: .line 944
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.exchangeCompleteListeners:[Lio/undertow/server/ExchangeCompletionListener;
            astore 3 /* exchangeCompleteListeners */
        start local 3 // io.undertow.server.ExchangeCompletionListener[] exchangeCompleteListeners
         4: .line 945
            aload 3 /* exchangeCompleteListeners */
            ifnull 5
            aload 3 /* exchangeCompleteListeners */
            arraylength
            iload 2 /* exchangeCompletionListenersCount */
            if_icmpne 9
         5: .line 946
      StackMap locals: int io.undertow.server.ExchangeCompletionListener[]
      StackMap stack:
            aload 3 /* exchangeCompleteListeners */
            astore 4 /* old */
        start local 4 // io.undertow.server.ExchangeCompletionListener[] old
         6: .line 947
            aload 0 /* this */
            iload 2 /* exchangeCompletionListenersCount */
            iconst_2
            iadd
            anewarray io.undertow.server.ExchangeCompletionListener
            dup
            astore 3 /* exchangeCompleteListeners */
            putfield io.undertow.server.HttpServerExchange.exchangeCompleteListeners:[Lio/undertow/server/ExchangeCompletionListener;
         7: .line 948
            aload 4 /* old */
            ifnull 9
         8: .line 949
            aload 4 /* old */
            iconst_0
            aload 3 /* exchangeCompleteListeners */
            iconst_0
            iload 2 /* exchangeCompletionListenersCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 4 // io.undertow.server.ExchangeCompletionListener[] old
         9: .line 952
      StackMap locals:
      StackMap stack:
            aload 3 /* exchangeCompleteListeners */
            iload 2 /* exchangeCompletionListenersCount */
            aload 1 /* listener */
            aastore
        10: .line 953
            aload 0 /* this */
            areturn
        end local 3 // io.undertow.server.ExchangeCompletionListener[] exchangeCompleteListeners
        end local 2 // int exchangeCompletionListenersCount
        end local 1 // io.undertow.server.ExchangeCompletionListener listener
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0   11     0                              this  Lio/undertow/server/HttpServerExchange;
            0   11     1                          listener  Lio/undertow/server/ExchangeCompletionListener;
            3   11     2  exchangeCompletionListenersCount  I
            4   11     3         exchangeCompleteListeners  [Lio/undertow/server/ExchangeCompletionListener;
            6    9     4                               old  [Lio/undertow/server/ExchangeCompletionListener;
    MethodParameters:
          Name  Flags
      listener  final

  public io.undertow.server.HttpServerExchange addDefaultResponseListener(io.undertow.server.DefaultResponseListener);
    descriptor: (Lio/undertow/server/DefaultResponseListener;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.DefaultResponseListener listener
         0: .line 957
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: .line 958
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            ifnonnull 5
         2: .line 959
            aload 0 /* this */
            iconst_2
            anewarray io.undertow.server.DefaultResponseListener
            putfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
         3: .line 960
            goto 10
         4: .line 962
      StackMap locals: int
      StackMap stack:
            iinc 2 /* i */ 1
         5: .line 961
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            arraylength
            if_icmpeq 6
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            iload 2 /* i */
            aaload
            ifnonnull 4
         6: .line 964
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            arraylength
            if_icmpne 10
         7: .line 965
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            astore 3 /* old */
        start local 3 // io.undertow.server.DefaultResponseListener[] old
         8: .line 966
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            arraylength
            iconst_2
            iadd
            anewarray io.undertow.server.DefaultResponseListener
            putfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
         9: .line 967
            aload 3 /* old */
            iconst_0
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            iconst_0
            aload 3 /* old */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 3 // io.undertow.server.DefaultResponseListener[] old
        10: .line 970
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            iload 2 /* i */
            aload 1 /* listener */
            aastore
        11: .line 971
            aload 0 /* this */
            areturn
        end local 2 // int i
        end local 1 // io.undertow.server.DefaultResponseListener listener
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lio/undertow/server/HttpServerExchange;
            0   12     1  listener  Lio/undertow/server/DefaultResponseListener;
            1   12     2         i  I
            8   10     3       old  [Lio/undertow/server/DefaultResponseListener;
    MethodParameters:
          Name  Flags
      listener  final

  public java.net.InetSocketAddress getSourceAddress();
    descriptor: ()Ljava/net/InetSocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 980
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.sourceAddress:Ljava/net/InetSocketAddress;
            ifnull 2
         1: .line 981
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.sourceAddress:Ljava/net/InetSocketAddress;
            areturn
         2: .line 983
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            ldc Ljava/net/InetSocketAddress;
            invokevirtual io.undertow.server.ServerConnection.getPeerAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
            checkcast java.net.InetSocketAddress
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange setSourceAddress(java.net.InetSocketAddress);
    descriptor: (Ljava/net/InetSocketAddress;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.net.InetSocketAddress sourceAddress
         0: .line 993
            aload 0 /* this */
            aload 1 /* sourceAddress */
            putfield io.undertow.server.HttpServerExchange.sourceAddress:Ljava/net/InetSocketAddress;
         1: .line 994
            aload 0 /* this */
            areturn
        end local 1 // java.net.InetSocketAddress sourceAddress
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/undertow/server/HttpServerExchange;
            0    2     1  sourceAddress  Ljava/net/InetSocketAddress;
    MethodParameters:
               Name  Flags
      sourceAddress  

  public java.net.InetSocketAddress getDestinationAddress();
    descriptor: ()Ljava/net/InetSocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1003
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.destinationAddress:Ljava/net/InetSocketAddress;
            ifnull 2
         1: .line 1004
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.destinationAddress:Ljava/net/InetSocketAddress;
            areturn
         2: .line 1006
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            ldc Ljava/net/InetSocketAddress;
            invokevirtual io.undertow.server.ServerConnection.getLocalAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
            checkcast java.net.InetSocketAddress
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange setDestinationAddress(java.net.InetSocketAddress);
    descriptor: (Ljava/net/InetSocketAddress;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.net.InetSocketAddress destinationAddress
         0: .line 1016
            aload 0 /* this */
            aload 1 /* destinationAddress */
            putfield io.undertow.server.HttpServerExchange.destinationAddress:Ljava/net/InetSocketAddress;
         1: .line 1017
            aload 0 /* this */
            areturn
        end local 1 // java.net.InetSocketAddress destinationAddress
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lio/undertow/server/HttpServerExchange;
            0    2     1  destinationAddress  Ljava/net/InetSocketAddress;
    MethodParameters:
                    Name  Flags
      destinationAddress  

  public io.undertow.util.HeaderMap getRequestHeaders();
    descriptor: ()Lio/undertow/util/HeaderMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1026
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestHeaders:Lio/undertow/util/HeaderMap;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public long getRequestContentLength();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1033
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestHeaders:Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.getFirst:(Lio/undertow/util/HttpString;)Ljava/lang/String;
            astore 1 /* contentLengthString */
        start local 1 // java.lang.String contentLengthString
         1: .line 1034
            aload 1 /* contentLengthString */
            ifnonnull 3
         2: .line 1035
            ldc -1
            lreturn
         3: .line 1037
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* contentLengthString */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lreturn
        end local 1 // java.lang.String contentLengthString
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lio/undertow/server/HttpServerExchange;
            1    4     1  contentLengthString  Ljava/lang/String;

  public io.undertow.util.HeaderMap getResponseHeaders();
    descriptor: ()Lio/undertow/util/HeaderMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1046
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseHeaders:Lio/undertow/util/HeaderMap;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public long getResponseContentLength();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1053
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseHeaders:Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.getFirst:(Lio/undertow/util/HttpString;)Ljava/lang/String;
            astore 1 /* contentLengthString */
        start local 1 // java.lang.String contentLengthString
         1: .line 1054
            aload 1 /* contentLengthString */
            ifnonnull 3
         2: .line 1055
            ldc -1
            lreturn
         3: .line 1057
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* contentLengthString */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lreturn
        end local 1 // java.lang.String contentLengthString
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lio/undertow/server/HttpServerExchange;
            1    4     1  contentLengthString  Ljava/lang/String;

  public io.undertow.server.HttpServerExchange setResponseContentLength(long);
    descriptor: (J)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // long length
         0: .line 1066
            lload 1 /* length */
            ldc -1
            lcmp
            ifne 3
         1: .line 1067
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseHeaders:Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.remove:(Lio/undertow/util/HttpString;)Ljava/util/Collection;
            pop
         2: .line 1068
            goto 4
         3: .line 1069
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseHeaders:Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
            lload 1 /* length */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
            pop
         4: .line 1071
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // long length
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/undertow/server/HttpServerExchange;
            0    5     1  length  J
    MethodParameters:
        Name  Flags
      length  

  public java.util.Map<java.lang.String, java.util.Deque<java.lang.String>> getQueryParameters();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1080
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.queryParameters:Ljava/util/Map;
            ifnonnull 2
         1: .line 1081
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield io.undertow.server.HttpServerExchange.queryParameters:Ljava/util/Map;
         2: .line 1083
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.queryParameters:Ljava/util/Map;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/HttpServerExchange;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/Deque<Ljava/lang/String;>;>;

  public io.undertow.server.HttpServerExchange addQueryParam(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String param
         0: .line 1087
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.queryParameters:Ljava/util/Map;
            ifnonnull 2
         1: .line 1088
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield io.undertow.server.HttpServerExchange.queryParameters:Ljava/util/Map;
         2: .line 1090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.queryParameters:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Deque
            astore 3 /* list */
        start local 3 // java.util.Deque list
         3: .line 1091
            aload 3 /* list */
            ifnonnull 5
         4: .line 1092
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.queryParameters:Ljava/util/Map;
            aload 1 /* name */
            new java.util.ArrayDeque
            dup
            iconst_2
            invokespecial java.util.ArrayDeque.<init>:(I)V
            dup
            astore 3 /* list */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1094
      StackMap locals: java.util.Deque
      StackMap stack:
            aload 3 /* list */
            aload 2 /* param */
            invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1095
            aload 0 /* this */
            areturn
        end local 3 // java.util.Deque list
        end local 2 // java.lang.String param
        end local 1 // java.lang.String name
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lio/undertow/server/HttpServerExchange;
            0    7     1   name  Ljava/lang/String;
            0    7     2  param  Ljava/lang/String;
            3    7     3   list  Ljava/util/Deque<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      name   final
      param  final

  public java.util.Map<java.lang.String, java.util.Deque<java.lang.String>> getPathParameters();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1105
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.pathParameters:Ljava/util/Map;
            ifnonnull 2
         1: .line 1106
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield io.undertow.server.HttpServerExchange.pathParameters:Ljava/util/Map;
         2: .line 1108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.pathParameters:Ljava/util/Map;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/HttpServerExchange;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/Deque<Ljava/lang/String;>;>;

  public io.undertow.server.HttpServerExchange addPathParam(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String param
         0: .line 1112
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.pathParameters:Ljava/util/Map;
            ifnonnull 2
         1: .line 1113
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield io.undertow.server.HttpServerExchange.pathParameters:Ljava/util/Map;
         2: .line 1115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.pathParameters:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Deque
            astore 3 /* list */
        start local 3 // java.util.Deque list
         3: .line 1116
            aload 3 /* list */
            ifnonnull 5
         4: .line 1117
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.pathParameters:Ljava/util/Map;
            aload 1 /* name */
            new java.util.ArrayDeque
            dup
            iconst_2
            invokespecial java.util.ArrayDeque.<init>:(I)V
            dup
            astore 3 /* list */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1119
      StackMap locals: java.util.Deque
      StackMap stack:
            aload 3 /* list */
            aload 2 /* param */
            invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1120
            aload 0 /* this */
            areturn
        end local 3 // java.util.Deque list
        end local 2 // java.lang.String param
        end local 1 // java.lang.String name
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lio/undertow/server/HttpServerExchange;
            0    7     1   name  Ljava/lang/String;
            0    7     2  param  Ljava/lang/String;
            3    7     3   list  Ljava/util/Deque<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      name   final
      param  final

  public java.util.Map<java.lang.String, io.undertow.server.handlers.Cookie> getRequestCookies();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1127
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestCookies:Ljava/util/Map;
            ifnonnull 6
         1: .line 1128
            aload 0 /* this */
         2: .line 1129
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
            getstatic io.undertow.UndertowOptions.MAX_COOKIES:Lorg/xnio/Option;
            sipush 200
            invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
         3: .line 1130
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
            getstatic io.undertow.UndertowOptions.ALLOW_EQUALS_IN_COOKIE_VALUE:Lorg/xnio/Option;
            iconst_0
            invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
         4: .line 1131
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestHeaders:Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.COOKIE:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.get:(Lio/undertow/util/HttpString;)Lio/undertow/util/HeaderValues;
         5: .line 1128
            invokestatic io.undertow.util.Cookies.parseRequestCookies:(IZLjava/util/List;)Ljava/util/Map;
            putfield io.undertow.server.HttpServerExchange.requestCookies:Ljava/util/Map;
         6: .line 1133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestCookies:Ljava/util/Map;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/undertow/server/HttpServerExchange;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lio/undertow/server/handlers/Cookie;>;

  public io.undertow.server.HttpServerExchange setResponseCookie(io.undertow.server.handlers.Cookie);
    descriptor: (Lio/undertow/server/handlers/Cookie;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.handlers.Cookie cookie
         0: .line 1142
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
            getstatic io.undertow.UndertowOptions.ENABLE_RFC6265_COOKIE_VALIDATION:Lorg/xnio/Option;
            iconst_0
            invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
            ifeq 7
         1: .line 1143
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getValue:()Ljava/lang/String;
            ifnull 3
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getValue:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 3
         2: .line 1144
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getValue:()Ljava/lang/String;
            invokestatic io.undertow.util.Rfc6265CookieSupport.validateCookieValue:(Ljava/lang/String;)V
         3: .line 1146
      StackMap locals:
      StackMap stack:
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getPath:()Ljava/lang/String;
            ifnull 5
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getPath:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 5
         4: .line 1147
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getPath:()Ljava/lang/String;
            invokestatic io.undertow.util.Rfc6265CookieSupport.validatePath:(Ljava/lang/String;)V
         5: .line 1149
      StackMap locals:
      StackMap stack:
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getDomain:()Ljava/lang/String;
            ifnull 7
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getDomain:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 7
         6: .line 1150
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getDomain:()Ljava/lang/String;
            invokestatic io.undertow.util.Rfc6265CookieSupport.validateDomain:(Ljava/lang/String;)V
         7: .line 1153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseCookies:Ljava/util/Map;
            ifnonnull 9
         8: .line 1154
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield io.undertow.server.HttpServerExchange.responseCookies:Ljava/util/Map;
         9: .line 1156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseCookies:Ljava/util/Map;
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getName:()Ljava/lang/String;
            aload 1 /* cookie */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1157
            aload 0 /* this */
            areturn
        end local 1 // io.undertow.server.handlers.Cookie cookie
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lio/undertow/server/HttpServerExchange;
            0   11     1  cookie  Lio/undertow/server/handlers/Cookie;
    MethodParameters:
        Name  Flags
      cookie  final

  public java.util.Map<java.lang.String, io.undertow.server.handlers.Cookie> getResponseCookies();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1164
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseCookies:Ljava/util/Map;
            ifnonnull 2
         1: .line 1165
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield io.undertow.server.HttpServerExchange.responseCookies:Ljava/util/Map;
         2: .line 1167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseCookies:Ljava/util/Map;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/HttpServerExchange;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lio/undertow/server/handlers/Cookie;>;

  java.util.Map<java.lang.String, io.undertow.server.handlers.Cookie> getResponseCookiesInternal();
    descriptor: ()Ljava/util/Map;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1176
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseCookies:Ljava/util/Map;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lio/undertow/server/handlers/Cookie;>;

  public boolean isResponseStarted();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1183
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            sipush 1024
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public org.xnio.channels.StreamSourceChannel getRequestChannel();
    descriptor: ()Lorg/xnio/channels/StreamSourceChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=4, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1195
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            ifnull 5
         1: .line 1196
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 1048576
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 4
         2: .line 1197
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc -1048577
            iand
            putfield io.undertow.server.HttpServerExchange.state:I
         3: .line 1198
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            areturn
         4: .line 1200
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         5: .line 1202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            sipush 4096
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 7
         6: .line 1203
            aload 0 /* this */
            new io.undertow.server.HttpServerExchange$ReadDispatchChannel
            dup
            aload 0 /* this */
            new org.xnio.conduits.ConduitStreamSourceChannel
            dup
            getstatic org.xnio.channels.Configurable.EMPTY:Lorg/xnio/channels/Configurable;
            new io.undertow.conduits.EmptyStreamSourceConduit
            dup
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getIoThread:()Lorg/xnio/XnioIoThread;
            invokespecial io.undertow.conduits.EmptyStreamSourceConduit.<init>:(Lorg/xnio/XnioIoThread;)V
            invokespecial org.xnio.conduits.ConduitStreamSourceChannel.<init>:(Lorg/xnio/channels/Configurable;Lorg/xnio/conduits/StreamSourceConduit;)V
            invokespecial io.undertow.server.HttpServerExchange$ReadDispatchChannel.<init>:(Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/ConduitStreamSourceChannel;)V
            dup_x1
            putfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            areturn
         7: .line 1205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestWrappers:[Lio/undertow/server/ConduitWrapper;
            astore 1 /* wrappers */
        start local 1 // io.undertow.server.ConduitWrapper[] wrappers
         8: .line 1206
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            astore 2 /* sourceChannel */
        start local 2 // org.xnio.conduits.ConduitStreamSourceChannel sourceChannel
         9: .line 1207
            aload 1 /* wrappers */
            ifnull 13
        10: .line 1208
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.HttpServerExchange.requestWrappers:[Lio/undertow/server/ConduitWrapper;
        11: .line 1209
            new io.undertow.server.HttpServerExchange$WrapperConduitFactory
            dup
            aload 1 /* wrappers */
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestWrapperCount:I
            aload 2 /* sourceChannel */
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
            aload 0 /* this */
            invokespecial io.undertow.server.HttpServerExchange$WrapperConduitFactory.<init>:([Lio/undertow/server/ConduitWrapper;ILorg/xnio/conduits/Conduit;Lio/undertow/server/HttpServerExchange;)V
            astore 3 /* factory */
        start local 3 // io.undertow.server.HttpServerExchange$WrapperConduitFactory factory
        12: .line 1210
            aload 2 /* sourceChannel */
            aload 3 /* factory */
            invokevirtual io.undertow.server.HttpServerExchange$WrapperConduitFactory.create:()Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSourceConduit
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setConduit:(Lorg/xnio/conduits/StreamSourceConduit;)V
        end local 3 // io.undertow.server.HttpServerExchange$WrapperConduitFactory factory
        13: .line 1212
      StackMap locals: io.undertow.server.ConduitWrapper[] org.xnio.conduits.ConduitStreamSourceChannel
      StackMap stack:
            aload 0 /* this */
            new io.undertow.server.HttpServerExchange$ReadDispatchChannel
            dup
            aload 0 /* this */
            aload 2 /* sourceChannel */
            invokespecial io.undertow.server.HttpServerExchange$ReadDispatchChannel.<init>:(Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/ConduitStreamSourceChannel;)V
            dup_x1
            putfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            areturn
        end local 2 // org.xnio.conduits.ConduitStreamSourceChannel sourceChannel
        end local 1 // io.undertow.server.ConduitWrapper[] wrappers
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lio/undertow/server/HttpServerExchange;
            8   14     1       wrappers  [Lio/undertow/server/ConduitWrapper;
            9   14     2  sourceChannel  Lorg/xnio/conduits/ConduitStreamSourceChannel;
           12   13     3        factory  Lio/undertow/server/HttpServerExchange$WrapperConduitFactory<Lorg/xnio/conduits/StreamSourceConduit;>;

  void resetRequestChannel();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1216
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 1048576
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         1: .line 1217
            return
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/HttpServerExchange;

  public boolean isRequestChannelAvailable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1220
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            ifnull 1
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 1048576
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/HttpServerExchange;

  public boolean isComplete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1228
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            sipush 6144
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public boolean isRequestComplete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1238
            aload 0 /* this */
            getstatic io.undertow.server.HttpServerExchange.BUFFERED_REQUEST_DATA:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast io.undertow.connector.PooledByteBuffer[]
            astore 1 /* data */
        start local 1 // io.undertow.connector.PooledByteBuffer[] data
         1: .line 1239
            aload 1 /* data */
            ifnull 3
         2: .line 1240
            iconst_0
            ireturn
         3: .line 1242
      StackMap locals: io.undertow.connector.PooledByteBuffer[]
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            sipush 4096
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ireturn
        end local 1 // io.undertow.connector.PooledByteBuffer[] data
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/undertow/server/HttpServerExchange;
            1    4     1  data  [Lio/undertow/connector/PooledByteBuffer;

  public boolean isResponseComplete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1249
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            sipush 2048
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  void terminateRequest();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1257
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            istore 1 /* oldVal */
        start local 1 // int oldVal
         1: .line 1258
            iload 1 /* oldVal */
            sipush 4096
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 3
         2: .line 1260
            return
         3: .line 1262
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            ifnull 5
         4: .line 1263
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.requestDone:()V
         5: .line 1265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* oldVal */
            sipush 4096
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         6: .line 1266
            iload 1 /* oldVal */
            sipush 2048
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 8
         7: .line 1267
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.invokeExchangeCompleteListeners:()V
         8: .line 1269
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int oldVal
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lio/undertow/server/HttpServerExchange;
            1    9     1  oldVal  I

  private void invokeExchangeCompleteListeners();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1272
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
            ifle 6
         1: .line 1273
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
            iconst_1
            isub
            istore 1 /* i */
        start local 1 // int i
         2: .line 1274
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.exchangeCompleteListeners:[Lio/undertow/server/ExchangeCompletionListener;
            iload 1 /* i */
            aaload
            astore 2 /* next */
        start local 2 // io.undertow.server.ExchangeCompletionListener next
         3: .line 1275
            aload 0 /* this */
            iconst_m1
            putfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
         4: .line 1276
            aload 2 /* next */
            aload 0 /* this */
            new io.undertow.server.HttpServerExchange$ExchangeCompleteNextListener
            dup
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.exchangeCompleteListeners:[Lio/undertow/server/ExchangeCompletionListener;
            aload 0 /* this */
            iload 1 /* i */
            invokespecial io.undertow.server.HttpServerExchange$ExchangeCompleteNextListener.<init>:([Lio/undertow/server/ExchangeCompletionListener;Lio/undertow/server/HttpServerExchange;I)V
            invokeinterface io.undertow.server.ExchangeCompletionListener.exchangeEvent:(Lio/undertow/server/HttpServerExchange;Lio/undertow/server/ExchangeCompletionListener$NextListener;)V
        end local 2 // io.undertow.server.ExchangeCompletionListener next
        end local 1 // int i
         5: .line 1277
            goto 9
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
            ifne 9
         7: .line 1278
            aload 0 /* this */
            iconst_m1
            putfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
         8: .line 1279
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            aload 0 /* this */
            invokevirtual io.undertow.server.ServerConnection.exchangeComplete:(Lio/undertow/server/HttpServerExchange;)V
         9: .line 1281
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/undertow/server/HttpServerExchange;
            2    5     1     i  I
            3    5     2  next  Lio/undertow/server/ExchangeCompletionListener;

  public org.xnio.channels.StreamSinkChannel getResponseChannel();
    descriptor: ()Lorg/xnio/channels/StreamSinkChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1304
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            ifnull 2
         1: .line 1305
            aconst_null
            areturn
         2: .line 1307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseWrappers:[Lio/undertow/server/ConduitWrapper;
            astore 1 /* wrappers */
        start local 1 // io.undertow.server.ConduitWrapper[] wrappers
         3: .line 1308
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.HttpServerExchange.responseWrappers:[Lio/undertow/server/ConduitWrapper;
         4: .line 1309
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            astore 2 /* sinkChannel */
        start local 2 // org.xnio.conduits.ConduitStreamSinkChannel sinkChannel
         5: .line 1310
            aload 2 /* sinkChannel */
            ifnonnull 7
         6: .line 1311
            aconst_null
            areturn
         7: .line 1313
      StackMap locals: io.undertow.server.ConduitWrapper[] org.xnio.conduits.ConduitStreamSinkChannel
      StackMap stack:
            aload 1 /* wrappers */
            ifnull 11
         8: .line 1314
            new io.undertow.server.HttpServerExchange$WrapperStreamSinkConduitFactory
            dup
            aload 1 /* wrappers */
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseWrapperCount:I
            aload 0 /* this */
            aload 2 /* sinkChannel */
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
            invokespecial io.undertow.server.HttpServerExchange$WrapperStreamSinkConduitFactory.<init>:([Lio/undertow/server/ConduitWrapper;ILio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/StreamSinkConduit;)V
            astore 3 /* factory */
        start local 3 // io.undertow.server.HttpServerExchange$WrapperStreamSinkConduitFactory factory
         9: .line 1315
            aload 2 /* sinkChannel */
            aload 3 /* factory */
            invokevirtual io.undertow.server.HttpServerExchange$WrapperStreamSinkConduitFactory.create:()Lorg/xnio/conduits/StreamSinkConduit;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.setConduit:(Lorg/xnio/conduits/StreamSinkConduit;)V
        end local 3 // io.undertow.server.HttpServerExchange$WrapperStreamSinkConduitFactory factory
        10: .line 1316
            goto 12
        11: .line 1317
      StackMap locals:
      StackMap stack:
            aload 2 /* sinkChannel */
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            aload 0 /* this */
            aload 2 /* sinkChannel */
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
            invokevirtual io.undertow.server.ServerConnection.getSinkConduit:(Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/StreamSinkConduit;)Lorg/xnio/conduits/StreamSinkConduit;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.setConduit:(Lorg/xnio/conduits/StreamSinkConduit;)V
        12: .line 1319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.server.HttpServerExchange$WriteDispatchChannel
            dup
            aload 0 /* this */
            aload 2 /* sinkChannel */
            invokespecial io.undertow.server.HttpServerExchange$WriteDispatchChannel.<init>:(Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/ConduitStreamSinkChannel;)V
            putfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
        13: .line 1320
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.startResponse:()Lio/undertow/server/HttpServerExchange;
            pop
        14: .line 1321
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            areturn
        end local 2 // org.xnio.conduits.ConduitStreamSinkChannel sinkChannel
        end local 1 // io.undertow.server.ConduitWrapper[] wrappers
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lio/undertow/server/HttpServerExchange;
            3   15     1     wrappers  [Lio/undertow/server/ConduitWrapper;
            5   15     2  sinkChannel  Lorg/xnio/conduits/ConduitStreamSinkChannel;
            9   10     3      factory  Lio/undertow/server/HttpServerExchange$WrapperStreamSinkConduitFactory;

  public io.undertow.io.Sender getResponseSender();
    descriptor: ()Lio/undertow/io/Sender;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1333
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnull 2
         1: .line 1334
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            invokeinterface io.undertow.server.BlockingHttpExchange.getSender:()Lio/undertow/io/Sender;
            areturn
         2: .line 1336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.sender:Lio/undertow/io/Sender;
            ifnull 4
         3: .line 1337
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.sender:Lio/undertow/io/Sender;
            areturn
         4: .line 1339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.io.AsyncSenderImpl
            dup
            aload 0 /* this */
            invokespecial io.undertow.io.AsyncSenderImpl.<init>:(Lio/undertow/server/HttpServerExchange;)V
            dup_x1
            putfield io.undertow.server.HttpServerExchange.sender:Lio/undertow/io/Sender;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.io.Receiver getRequestReceiver();
    descriptor: ()Lio/undertow/io/Receiver;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1343
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnull 2
         1: .line 1344
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            invokeinterface io.undertow.server.BlockingHttpExchange.getReceiver:()Lio/undertow/io/Receiver;
            areturn
         2: .line 1346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.receiver:Lio/undertow/io/Receiver;
            ifnull 4
         3: .line 1347
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.receiver:Lio/undertow/io/Receiver;
            areturn
         4: .line 1349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.io.AsyncReceiverImpl
            dup
            aload 0 /* this */
            invokespecial io.undertow.io.AsyncReceiverImpl.<init>:(Lio/undertow/server/HttpServerExchange;)V
            dup_x1
            putfield io.undertow.server.HttpServerExchange.receiver:Lio/undertow/io/Receiver;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/undertow/server/HttpServerExchange;

  public boolean isResponseChannelAvailable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1356
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/HttpServerExchange;

  public int getResponseCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1368
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            getstatic io.undertow.server.HttpServerExchange.MASK_RESPONSE_CODE:I
            iand
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public io.undertow.server.HttpServerExchange setResponseCode(int);
    descriptor: (I)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // int statusCode
         0: .line 1381
            aload 0 /* this */
            iload 1 /* statusCode */
            invokevirtual io.undertow.server.HttpServerExchange.setStatusCode:(I)Lio/undertow/server/HttpServerExchange;
            areturn
        end local 1 // int statusCode
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/undertow/server/HttpServerExchange;
            0    1     1  statusCode  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      statusCode  final

  public int getStatusCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1390
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            getstatic io.undertow.server.HttpServerExchange.MASK_RESPONSE_CODE:I
            iand
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange setStatusCode(int);
    descriptor: (I)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // int statusCode
         0: .line 1401
            iload 1 /* statusCode */
            iflt 1
            iload 1 /* statusCode */
            sipush 999
            if_icmple 2
         1: .line 1402
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid response code"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            istore 2 /* oldVal */
        start local 2 // int oldVal
         3: .line 1405
            iload 2 /* oldVal */
            sipush 1024
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 5
         4: .line 1406
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.responseAlreadyStarted:()Ljava/lang/IllegalStateException;
            athrow
         5: .line 1408
      StackMap locals: int
      StackMap stack:
            iload 1 /* statusCode */
            sipush 500
            if_icmplt 8
         6: .line 1409
            getstatic io.undertow.UndertowLogger.ERROR_RESPONSE:Lio/undertow/UndertowLogger;
            invokeinterface io.undertow.UndertowLogger.isDebugEnabled:()Z
            ifeq 8
         7: .line 1410
            getstatic io.undertow.UndertowLogger.ERROR_RESPONSE:Lio/undertow/UndertowLogger;
            new java.lang.RuntimeException
            dup
            invokespecial java.lang.RuntimeException.<init>:()V
            ldc "Setting error code %s for exchange %s"
            iload 1 /* statusCode */
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/Throwable;Ljava/lang/String;ILjava/lang/Object;)V
         8: .line 1413
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* oldVal */
            getstatic io.undertow.server.HttpServerExchange.MASK_RESPONSE_CODE:I
            iconst_m1
            ixor
            iand
            iload 1 /* statusCode */
            getstatic io.undertow.server.HttpServerExchange.MASK_RESPONSE_CODE:I
            iand
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         9: .line 1414
            aload 0 /* this */
            areturn
        end local 2 // int oldVal
        end local 1 // int statusCode
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lio/undertow/server/HttpServerExchange;
            0   10     1  statusCode  I
            3   10     2      oldVal  I
    MethodParameters:
            Name  Flags
      statusCode  final

  public io.undertow.server.HttpServerExchange setReasonPhrase(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.String message
         0: .line 1427
            aload 0 /* this */
            getstatic io.undertow.server.HttpServerExchange.REASON_PHRASE:Lio/undertow/util/AttachmentKey;
            aload 1 /* message */
            invokevirtual io.undertow.server.HttpServerExchange.putAttachment:(Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1428
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String message
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/undertow/server/HttpServerExchange;
            0    2     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public java.lang.String getReasonPhrase();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1436
            aload 0 /* this */
            getstatic io.undertow.server.HttpServerExchange.REASON_PHRASE:Lio/undertow/util/AttachmentKey;
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange addRequestWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSourceConduit>);
    descriptor: (Lio/undertow/server/ConduitWrapper;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.ConduitWrapper wrapper
         0: .line 1445
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestWrappers:[Lio/undertow/server/ConduitWrapper;
            astore 2 /* wrappers */
        start local 2 // io.undertow.server.ConduitWrapper[] wrappers
         1: .line 1446
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            ifnull 3
         2: .line 1447
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.requestChannelAlreadyProvided:()Ljava/lang/IllegalStateException;
            athrow
         3: .line 1449
      StackMap locals: io.undertow.server.ConduitWrapper[]
      StackMap stack:
            aload 2 /* wrappers */
            ifnonnull 6
         4: .line 1450
            aload 0 /* this */
            iconst_2
            anewarray io.undertow.server.ConduitWrapper
            dup_x1
            putfield io.undertow.server.HttpServerExchange.requestWrappers:[Lio/undertow/server/ConduitWrapper;
            astore 2 /* wrappers */
         5: .line 1451
            goto 10
      StackMap locals:
      StackMap stack:
         6: aload 2 /* wrappers */
            arraylength
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestWrapperCount:I
            if_icmpne 10
         7: .line 1452
            aload 0 /* this */
            aload 2 /* wrappers */
            arraylength
            iconst_2
            iadd
            anewarray io.undertow.server.ConduitWrapper
            putfield io.undertow.server.HttpServerExchange.requestWrappers:[Lio/undertow/server/ConduitWrapper;
         8: .line 1453
            aload 2 /* wrappers */
            iconst_0
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestWrappers:[Lio/undertow/server/ConduitWrapper;
            iconst_0
            aload 2 /* wrappers */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 1454
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestWrappers:[Lio/undertow/server/ConduitWrapper;
            astore 2 /* wrappers */
        10: .line 1456
      StackMap locals:
      StackMap stack:
            aload 2 /* wrappers */
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.requestWrapperCount:I
            dup_x1
            iconst_1
            iadd
            putfield io.undertow.server.HttpServerExchange.requestWrapperCount:I
            aload 1 /* wrapper */
            aastore
        11: .line 1457
            aload 0 /* this */
            areturn
        end local 2 // io.undertow.server.ConduitWrapper[] wrappers
        end local 1 // io.undertow.server.ConduitWrapper wrapper
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lio/undertow/server/HttpServerExchange;
            0   12     1   wrapper  Lio/undertow/server/ConduitWrapper<Lorg/xnio/conduits/StreamSourceConduit;>;
            1   12     2  wrappers  [Lio/undertow/server/ConduitWrapper;
    Signature: (Lio/undertow/server/ConduitWrapper<Lorg/xnio/conduits/StreamSourceConduit;>;)Lio/undertow/server/HttpServerExchange;
    MethodParameters:
         Name  Flags
      wrapper  final

  public io.undertow.server.HttpServerExchange addResponseWrapper(io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>);
    descriptor: (Lio/undertow/server/ConduitWrapper;)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.ConduitWrapper wrapper
         0: .line 1466
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseWrappers:[Lio/undertow/server/ConduitWrapper;
            astore 2 /* wrappers */
        start local 2 // io.undertow.server.ConduitWrapper[] wrappers
         1: .line 1467
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            ifnull 3
         2: .line 1468
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.responseChannelAlreadyProvided:()Ljava/lang/IllegalStateException;
            athrow
         3: .line 1470
      StackMap locals: io.undertow.server.ConduitWrapper[]
      StackMap stack:
            aload 2 /* wrappers */
            ifnonnull 6
         4: .line 1471
            aload 0 /* this */
            iconst_2
            anewarray io.undertow.server.ConduitWrapper
            dup
            astore 2 /* wrappers */
            putfield io.undertow.server.HttpServerExchange.responseWrappers:[Lio/undertow/server/ConduitWrapper;
         5: .line 1472
            goto 10
      StackMap locals:
      StackMap stack:
         6: aload 2 /* wrappers */
            arraylength
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseWrapperCount:I
            if_icmpne 10
         7: .line 1473
            aload 0 /* this */
            aload 2 /* wrappers */
            arraylength
            iconst_2
            iadd
            anewarray io.undertow.server.ConduitWrapper
            putfield io.undertow.server.HttpServerExchange.responseWrappers:[Lio/undertow/server/ConduitWrapper;
         8: .line 1474
            aload 2 /* wrappers */
            iconst_0
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseWrappers:[Lio/undertow/server/ConduitWrapper;
            iconst_0
            aload 2 /* wrappers */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 1475
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseWrappers:[Lio/undertow/server/ConduitWrapper;
            astore 2 /* wrappers */
        10: .line 1477
      StackMap locals:
      StackMap stack:
            aload 2 /* wrappers */
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.responseWrapperCount:I
            dup_x1
            iconst_1
            iadd
            putfield io.undertow.server.HttpServerExchange.responseWrapperCount:I
            aload 1 /* wrapper */
            aastore
        11: .line 1478
            aload 0 /* this */
            areturn
        end local 2 // io.undertow.server.ConduitWrapper[] wrappers
        end local 1 // io.undertow.server.ConduitWrapper wrapper
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lio/undertow/server/HttpServerExchange;
            0   12     1   wrapper  Lio/undertow/server/ConduitWrapper<Lorg/xnio/conduits/StreamSinkConduit;>;
            1   12     2  wrappers  [Lio/undertow/server/ConduitWrapper;
    Signature: (Lio/undertow/server/ConduitWrapper<Lorg/xnio/conduits/StreamSinkConduit;>;)Lio/undertow/server/HttpServerExchange;
    MethodParameters:
         Name  Flags
      wrapper  final

  public io.undertow.server.BlockingHttpExchange startBlocking();
    descriptor: ()Lio/undertow/server/BlockingHttpExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1492
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            astore 1 /* old */
        start local 1 // io.undertow.server.BlockingHttpExchange old
         1: .line 1493
            aload 0 /* this */
            new io.undertow.server.HttpServerExchange$DefaultBlockingHttpExchange
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.HttpServerExchange$DefaultBlockingHttpExchange.<init>:(Lio/undertow/server/HttpServerExchange;)V
            putfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
         2: .line 1494
            aload 1 /* old */
            areturn
        end local 1 // io.undertow.server.BlockingHttpExchange old
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/HttpServerExchange;
            1    3     1   old  Lio/undertow/server/BlockingHttpExchange;

  public io.undertow.server.BlockingHttpExchange startBlocking(io.undertow.server.BlockingHttpExchange);
    descriptor: (Lio/undertow/server/BlockingHttpExchange;)Lio/undertow/server/BlockingHttpExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.BlockingHttpExchange httpExchange
         0: .line 1512
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            astore 2 /* old */
        start local 2 // io.undertow.server.BlockingHttpExchange old
         1: .line 1513
            aload 0 /* this */
            aload 1 /* httpExchange */
            putfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
         2: .line 1514
            aload 2 /* old */
            areturn
        end local 2 // io.undertow.server.BlockingHttpExchange old
        end local 1 // io.undertow.server.BlockingHttpExchange httpExchange
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lio/undertow/server/HttpServerExchange;
            0    3     1  httpExchange  Lio/undertow/server/BlockingHttpExchange;
            1    3     2           old  Lio/undertow/server/BlockingHttpExchange;
    MethodParameters:
              Name  Flags
      httpExchange  final

  public boolean isBlocking();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1523
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/HttpServerExchange;

  public java.io.InputStream getInputStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1531
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnonnull 2
         1: .line 1532
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.startBlockingHasNotBeenCalled:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 1534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            invokeinterface io.undertow.server.BlockingHttpExchange.getInputStream:()Ljava/io/InputStream;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/HttpServerExchange;

  public java.io.OutputStream getOutputStream();
    descriptor: ()Ljava/io/OutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1542
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnonnull 2
         1: .line 1543
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.startBlockingHasNotBeenCalled:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 1545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            invokeinterface io.undertow.server.BlockingHttpExchange.getOutputStream:()Ljava/io/OutputStream;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/HttpServerExchange;

  io.undertow.server.HttpServerExchange terminateResponse();
    descriptor: ()Lio/undertow/server/HttpServerExchange;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1553
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            istore 1 /* oldVal */
        start local 1 // int oldVal
         1: .line 1554
            iload 1 /* oldVal */
            sipush 2048
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 3
         2: .line 1556
            aload 0 /* this */
            areturn
         3: .line 1558
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            ifnull 5
         4: .line 1559
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$WriteDispatchChannel.responseDone:()V
         5: .line 1561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* oldVal */
            sipush 2048
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         6: .line 1562
            iload 1 /* oldVal */
            sipush 4096
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 8
         7: .line 1563
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.invokeExchangeCompleteListeners:()V
         8: .line 1565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // int oldVal
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lio/undertow/server/HttpServerExchange;
            1    9     1  oldVal  I

  public long getRequestStartTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1573
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestStartTime:J
            lreturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  io.undertow.server.HttpServerExchange setRequestStartTime(long);
    descriptor: (J)Lio/undertow/server/HttpServerExchange;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // long requestStartTime
         0: .line 1578
            aload 0 /* this */
            lload 1 /* requestStartTime */
            putfield io.undertow.server.HttpServerExchange.requestStartTime:J
         1: .line 1579
            aload 0 /* this */
            areturn
        end local 1 // long requestStartTime
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lio/undertow/server/HttpServerExchange;
            0    2     1  requestStartTime  J
    MethodParameters:
                  Name  Flags
      requestStartTime  

  public io.undertow.server.HttpServerExchange endExchange();
    descriptor: ()Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1591
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            istore 1 /* state */
        start local 1 // int state
         1: .line 1592
            iload 1 /* state */
            sipush 6144
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 5
         2: .line 1593
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnull 4
         3: .line 1595
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         4: .line 1597
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            areturn
         5: .line 1599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            ifnull 18
         6: .line 1600
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            arraylength
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         7: .line 1601
            goto 17
         8: .line 1602
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            iload 2 /* i */
            aaload
            astore 3 /* listener */
        start local 3 // io.undertow.server.DefaultResponseListener listener
         9: .line 1603
            aload 3 /* listener */
            ifnull 16
        10: .line 1604
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            iload 2 /* i */
            aconst_null
            aastore
        11: .line 1606
            aload 3 /* listener */
            aload 0 /* this */
            invokeinterface io.undertow.server.DefaultResponseListener.handleDefaultResponse:(Lio/undertow/server/HttpServerExchange;)Z
            ifeq 16
        12: .line 1607
            aload 0 /* this */
        13: areturn
        14: .line 1609
      StackMap locals: io.undertow.server.HttpServerExchange int int io.undertow.server.DefaultResponseListener
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
        15: .line 1610
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Exception running default response listener"
            aload 4 /* e */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Throwable e
        16: .line 1613
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
        end local 3 // io.undertow.server.DefaultResponseListener listener
        17: .line 1601
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            ifge 8
        end local 2 // int i
        18: .line 1617
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            sipush 4096
            invokestatic org.xnio.Bits.anyAreClear:(II)Z
            ifeq 20
        19: .line 1618
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            aload 0 /* this */
            invokevirtual io.undertow.server.ServerConnection.terminateRequestChannel:(Lio/undertow/server/HttpServerExchange;)V
        20: .line 1621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnull 30
        21: .line 1624
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            invokeinterface io.undertow.server.BlockingHttpExchange.close:()V
        22: .line 1625
            goto 30
      StackMap locals:
      StackMap stack: java.io.IOException
        23: astore 2 /* e */
        start local 2 // java.io.IOException e
        24: .line 1626
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 2 /* e */
            invokeinterface io.undertow.UndertowLogger.ioException:(Ljava/io/IOException;)V
        25: .line 1627
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        end local 2 // java.io.IOException e
        26: goto 30
        27: .line 1628
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        28: .line 1629
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 2 /* t */
            invokeinterface io.undertow.UndertowLogger.handleUnexpectedFailure:(Ljava/lang/Throwable;)V
        29: .line 1630
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        end local 2 // java.lang.Throwable t
        30: .line 1636
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            sipush 4096
            invokestatic org.xnio.Bits.anyAreClear:(II)Z
            ifeq 55
        31: .line 1640
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            ifnonnull 33
        32: .line 1641
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestChannel:()Lorg/xnio/channels/StreamSourceChannel;
            pop
        33: .line 1643
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* totalRead */
        start local 2 // int totalRead
        34: .line 1646
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            ldc 9223372036854775807
            invokestatic org.xnio.channels.Channels.drain:(Lorg/xnio/channels/StreamSourceChannel;J)J
            lstore 3 /* read */
        start local 3 // long read
        35: .line 1647
            iload 2 /* totalRead */
            i2l
            lload 3 /* read */
            ladd
            l2i
            istore 2 /* totalRead */
        36: .line 1648
            lload 3 /* read */
            lconst_0
            lcmp
            ifne 45
        37: .line 1654
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getStatusCode:()I
            sipush 417
            if_icmpne 38
            iload 2 /* totalRead */
            ifle 55
        38: .line 1655
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.getReadSetter:()Lorg/xnio/ChannelListener$Setter;
            ldc 9223372036854775807
        39: .line 1656
            new io.undertow.server.HttpServerExchange$2
            dup
            aload 0 /* this */
            iload 1 /* state */
            invokespecial io.undertow.server.HttpServerExchange$2.<init>:(Lio/undertow/server/HttpServerExchange;I)V
        40: .line 1663
            new io.undertow.server.HttpServerExchange$3
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.HttpServerExchange$3.<init>:(Lio/undertow/server/HttpServerExchange;)V
        41: .line 1655
            invokestatic org.xnio.ChannelListeners.drainListener:(JLorg/xnio/ChannelListener;Lorg/xnio/ChannelExceptionHandler;)Lorg/xnio/ChannelListener;
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
        42: .line 1675
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.resumeReads:()V
        43: .line 1676
            aload 0 /* this */
        44: areturn
        45: .line 1680
      StackMap locals:
      StackMap stack:
            lload 3 /* read */
            ldc -1
            lcmp
            ifne 34
        46: .line 1681
            goto 55
        end local 3 // long read
        47: .line 1683
      StackMap locals: io.undertow.server.HttpServerExchange int int
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
        48: .line 1684
            aload 3 /* t */
            instanceof java.io.IOException
            ifeq 51
        49: .line 1685
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 3 /* t */
            checkcast java.io.IOException
            invokeinterface io.undertow.UndertowLogger.ioException:(Ljava/io/IOException;)V
        50: .line 1686
            goto 52
        51: .line 1687
      StackMap locals: java.lang.Throwable
      StackMap stack:
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 3 /* t */
            invokeinterface io.undertow.UndertowLogger.handleUnexpectedFailure:(Ljava/lang/Throwable;)V
        52: .line 1689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.invokeExchangeCompleteListeners:()V
        53: .line 1690
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        54: .line 1691
            aload 0 /* this */
            areturn
        end local 3 // java.lang.Throwable t
        end local 2 // int totalRead
        55: .line 1696
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            sipush 2048
            invokestatic org.xnio.Bits.anyAreClear:(II)Z
            ifeq 57
        56: .line 1697
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.closeAndFlushResponse:()V
        57: .line 1699
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // int state
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   58     0       this  Lio/undertow/server/HttpServerExchange;
            1   58     1      state  I
            7   18     2          i  I
            9   17     3   listener  Lio/undertow/server/DefaultResponseListener;
           15   16     4          e  Ljava/lang/Throwable;
           24   26     2          e  Ljava/io/IOException;
           28   30     2          t  Ljava/lang/Throwable;
           34   55     2  totalRead  I
           35   47     3       read  J
           48   55     3          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          11    13      14  Class java.lang.Throwable
          21    22      23  Class java.io.IOException
          21    22      27  Class java.lang.Throwable
          34    44      47  Class java.lang.Throwable
          45    46      47  Class java.lang.Throwable

  private void closeAndFlushResponse();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1703
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.isOpen:()Z
            ifne 3
         1: .line 1707
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.invokeExchangeCompleteListeners:()V
         2: .line 1708
            return
         3: .line 1711
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.isResponseChannelAvailable:()Z
            ifeq 8
         4: .line 1712
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestMethod:()Lio/undertow/util/HttpString;
            getstatic io.undertow.util.Methods.CONNECT:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
            ifne 7
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestMethod:()Lio/undertow/util/HttpString;
            getstatic io.undertow.util.Methods.HEAD:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
            ifeq 5
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.contains:(Lio/undertow/util/HttpString;)Z
            ifne 7
      StackMap locals:
      StackMap stack:
         5: aload 0 /* this */
            invokestatic io.undertow.server.Connectors.isEntityBodyAllowed:(Lio/undertow/server/HttpServerExchange;)Z
            ifeq 7
         6: .line 1714
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
            ldc "0"
            invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
            pop
         7: .line 1716
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getResponseChannel:()Lorg/xnio/channels/StreamSinkChannel;
            pop
         8: .line 1718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$WriteDispatchChannel.shutdownWrites:()V
         9: .line 1719
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$WriteDispatchChannel.flush:()Z
            ifne 16
        10: .line 1720
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$WriteDispatchChannel.getWriteSetter:()Lorg/xnio/ChannelListener$Setter;
        11: .line 1721
            new io.undertow.server.HttpServerExchange$4
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.HttpServerExchange$4.<init>:(Lio/undertow/server/HttpServerExchange;)V
        12: .line 1732
            new io.undertow.server.HttpServerExchange$5
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.HttpServerExchange$5.<init>:(Lio/undertow/server/HttpServerExchange;)V
        13: .line 1720
            invokestatic org.xnio.ChannelListeners.flushingChannelListener:(Lorg/xnio/ChannelListener;Lorg/xnio/ChannelExceptionHandler;)Lorg/xnio/ChannelListener;
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
        14: .line 1742
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$WriteDispatchChannel.resumeWrites:()V
        15: .line 1743
            goto 27
        16: .line 1745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            sipush 2048
            invokestatic org.xnio.Bits.anyAreClear:(II)Z
            ifeq 27
        17: .line 1746
            getstatic io.undertow.UndertowLogger.ROOT_LOGGER:Lio/undertow/UndertowLogger;
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.responseWasNotTerminated:(Lio/undertow/server/ServerConnection;Lio/undertow/server/HttpServerExchange;)V
        18: .line 1747
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        19: .line 1750
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 1 /* t */
        start local 1 // java.lang.Throwable t
        21: .line 1751
            aload 1 /* t */
            instanceof java.io.IOException
            ifeq 24
        22: .line 1752
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 1 /* t */
            checkcast java.io.IOException
            invokeinterface io.undertow.UndertowLogger.ioException:(Ljava/io/IOException;)V
        23: .line 1753
            goto 25
        24: .line 1754
      StackMap locals: java.lang.Throwable
      StackMap stack:
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 1 /* t */
            invokeinterface io.undertow.UndertowLogger.handleUnexpectedFailure:(Ljava/lang/Throwable;)V
        25: .line 1756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.invokeExchangeCompleteListeners:()V
        26: .line 1758
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        end local 1 // java.lang.Throwable t
        27: .line 1760
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   28     0  this  Lio/undertow/server/HttpServerExchange;
           21   27     1     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3    19      20  Class java.lang.Throwable

  io.undertow.server.HttpServerExchange startResponse();
    descriptor: ()Lio/undertow/server/HttpServerExchange;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1782
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            istore 1 /* oldVal */
        start local 1 // int oldVal
         1: .line 1783
            iload 1 /* oldVal */
            sipush 1024
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 3
         2: .line 1784
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.responseAlreadyStarted:()Ljava/lang/IllegalStateException;
            athrow
         3: .line 1786
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* oldVal */
            sipush 1024
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         4: .line 1788
            getstatic io.undertow.server.HttpServerExchange.log:Lorg/jboss/logging/Logger;
            ldc "Starting to write response for %s"
            aload 0 /* this */
            invokevirtual org.jboss.logging.Logger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 1789
            aload 0 /* this */
            areturn
        end local 1 // int oldVal
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/undertow/server/HttpServerExchange;
            1    6     1  oldVal  I
    Exceptions:
      throws java.lang.IllegalStateException

  public org.xnio.XnioIoThread getIoThread();
    descriptor: ()Lorg/xnio/XnioIoThread;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1793
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getIoThread:()Lorg/xnio/XnioIoThread;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public long getMaxEntitySize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1800
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.maxEntitySize:J
            lreturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public io.undertow.server.HttpServerExchange setMaxEntitySize(long);
    descriptor: (J)Lio/undertow/server/HttpServerExchange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // long maxEntitySize
         0: .line 1809
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.isRequestChannelAvailable:()Z
            ifne 2
         1: .line 1810
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.requestChannelAlreadyProvided:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 1812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* maxEntitySize */
            putfield io.undertow.server.HttpServerExchange.maxEntitySize:J
         3: .line 1813
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            aload 0 /* this */
            invokevirtual io.undertow.server.ServerConnection.maxEntitySizeUpdated:(Lio/undertow/server/HttpServerExchange;)V
         4: .line 1814
            aload 0 /* this */
            areturn
        end local 1 // long maxEntitySize
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lio/undertow/server/HttpServerExchange;
            0    5     1  maxEntitySize  J
    MethodParameters:
               Name  Flags
      maxEntitySize  final

  public io.undertow.security.api.SecurityContext getSecurityContext();
    descriptor: ()Lio/undertow/security/api/SecurityContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1818
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.securityContext:Lio/undertow/security/api/SecurityContext;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;

  public void setSecurityContext(io.undertow.security.api.SecurityContext);
    descriptor: (Lio/undertow/security/api/SecurityContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.security.api.SecurityContext securityContext
         0: .line 1822
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1823
            aload 2 /* sm */
            ifnull 3
         2: .line 1824
            aload 2 /* sm */
            getstatic io.undertow.server.HttpServerExchange.SET_SECURITY_CONTEXT:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 1826
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            aload 1 /* securityContext */
            putfield io.undertow.server.HttpServerExchange.securityContext:Lio/undertow/security/api/SecurityContext;
         4: .line 1827
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // io.undertow.security.api.SecurityContext securityContext
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lio/undertow/server/HttpServerExchange;
            0    5     1  securityContext  Lio/undertow/security/api/SecurityContext;
            1    5     2               sm  Ljava/lang/SecurityManager;
    MethodParameters:
                 Name  Flags
      securityContext  

  public void addResponseCommitListener(io.undertow.server.ResponseCommitListener);
    descriptor: (Lio/undertow/server/ResponseCommitListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // io.undertow.server.ResponseCommitListener listener
         0: .line 1839
            aload 0 /* this */
            new io.undertow.server.HttpServerExchange$6
            dup
            aload 0 /* this */
            aload 1 /* listener */
            invokespecial io.undertow.server.HttpServerExchange$6.<init>:(Lio/undertow/server/HttpServerExchange;Lio/undertow/server/ResponseCommitListener;)V
            invokevirtual io.undertow.server.HttpServerExchange.addResponseWrapper:(Lio/undertow/server/ConduitWrapper;)Lio/undertow/server/HttpServerExchange;
            pop
         1: .line 1846
            return
        end local 1 // io.undertow.server.ResponseCommitListener listener
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/undertow/server/HttpServerExchange;
            0    2     1  listener  Lio/undertow/server/ResponseCommitListener;
    MethodParameters:
          Name  Flags
      listener  final

  boolean runResumeReadWrite();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1854
            iconst_0
            istore 1 /* ret */
        start local 1 // boolean ret
         1: .line 1855
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 524288
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 4
         2: .line 1856
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$WriteDispatchChannel.runResume:()V
         3: .line 1857
            iconst_1
            istore 1 /* ret */
         4: .line 1859
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 262144
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 7
         5: .line 1860
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.runResume:()V
         6: .line 1861
            iconst_1
            istore 1 /* ret */
         7: .line 1863
      StackMap locals:
      StackMap stack:
            iload 1 /* ret */
            ireturn
        end local 1 // boolean ret
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/undertow/server/HttpServerExchange;
            1    8     1   ret  Z

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 2440
            new java.lang.StringBuilder
            dup
            ldc "HttpServerExchange{ "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestMethod:()Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HttpString.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestURI:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " request "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestHeaders:Lio/undertow/util/HeaderMap;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " response "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseHeaders:Lio/undertow/util/HeaderMap;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/HttpServerExchange;
}
SourceFile: "HttpServerExchange.java"
NestMembers:
  io.undertow.server.HttpServerExchange$1  io.undertow.server.HttpServerExchange$2  io.undertow.server.HttpServerExchange$3  io.undertow.server.HttpServerExchange$4  io.undertow.server.HttpServerExchange$5  io.undertow.server.HttpServerExchange$6  io.undertow.server.HttpServerExchange$DefaultBlockingHttpExchange  io.undertow.server.HttpServerExchange$ExchangeCompleteNextListener  io.undertow.server.HttpServerExchange$ReadDispatchChannel  io.undertow.server.HttpServerExchange$ReadDispatchChannel$1  io.undertow.server.HttpServerExchange$WrapperConduitFactory  io.undertow.server.HttpServerExchange$WrapperStreamSinkConduitFactory  io.undertow.server.HttpServerExchange$WriteDispatchChannel  io.undertow.server.HttpServerExchange$WriteDispatchChannel$1
InnerClasses:
  public abstract NextListener = io.undertow.server.ExchangeCompletionListener$NextListener of io.undertow.server.ExchangeCompletionListener
  io.undertow.server.HttpServerExchange$1
  io.undertow.server.HttpServerExchange$2
  io.undertow.server.HttpServerExchange$3
  io.undertow.server.HttpServerExchange$4
  io.undertow.server.HttpServerExchange$5
  io.undertow.server.HttpServerExchange$6
  private DefaultBlockingHttpExchange = io.undertow.server.HttpServerExchange$DefaultBlockingHttpExchange of io.undertow.server.HttpServerExchange
  private ExchangeCompleteNextListener = io.undertow.server.HttpServerExchange$ExchangeCompleteNextListener of io.undertow.server.HttpServerExchange
  private final ReadDispatchChannel = io.undertow.server.HttpServerExchange$ReadDispatchChannel of io.undertow.server.HttpServerExchange
  public WrapperConduitFactory = io.undertow.server.HttpServerExchange$WrapperConduitFactory of io.undertow.server.HttpServerExchange
  public WrapperStreamSinkConduitFactory = io.undertow.server.HttpServerExchange$WrapperStreamSinkConduitFactory of io.undertow.server.HttpServerExchange
  private WriteDispatchChannel = io.undertow.server.HttpServerExchange$WriteDispatchChannel of io.undertow.server.HttpServerExchange
  public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener