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.String> REMOTE_USER;
    descriptor: Lio/undertow/util/AttachmentKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lio/undertow/util/AttachmentKey<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 io.undertow.server.DelegatingIterable<io.undertow.server.handlers.Cookie> requestCookies;
    descriptor: Lio/undertow/server/DelegatingIterable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/undertow/server/DelegatingIterable<Lio/undertow/server/handlers/Cookie;>;

  private io.undertow.server.DelegatingIterable<io.undertow.server.handlers.Cookie> responseCookies;
    descriptor: Lio/undertow/server/DelegatingIterable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/undertow/server/DelegatingIterable<Lio/undertow/server/handlers/Cookie;>;

  private java.util.Map<java.lang.String, io.undertow.server.handlers.Cookie> deprecatedRequestCookies;
    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> deprecatedResponseCookies;
    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 98
            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 100
            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 108
            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 113
            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 118
            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 123
            ldc Ljava/lang/String;
            invokestatic io.undertow.util.AttachmentKey.create:(Ljava/lang/Class;)Lio/undertow/util/AttachmentKey;
            putstatic io.undertow.server.HttpServerExchange.REMOTE_USER:Lio/undertow/util/AttachmentKey;
         6: .line 129
            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;
         7: .line 260
            iconst_0
            bipush 9
            invokestatic org.xnio.Bits.intBitMask:(II)I
            putstatic io.undertow.server.HttpServerExchange.MASK_RESPONSE_CODE:I
         8: .line 324
            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 337
            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 338
            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 341
            aload 0 /* this */
            aload 1 /* connection */
            lconst_0
            invokespecial io.undertow.server.HttpServerExchange.<init>:(Lio/undertow/server/ServerConnection;J)V
         1: .line 342
            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 344
            aload 0 /* this */
            invokespecial io.undertow.util.AbstractAttachable.<init>:()V
         1: .line 135
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
         2: .line 168
            aload 0 /* this */
            sipush 200
            putfield io.undertow.server.HttpServerExchange.state:I
         3: .line 169
            aload 0 /* this */
            getstatic io.undertow.util.HttpString.EMPTY:Lio/undertow/util/HttpString;
            putfield io.undertow.server.HttpServerExchange.requestMethod:Lio/undertow/util/HttpString;
         4: .line 205
            aload 0 /* this */
            ldc ""
            putfield io.undertow.server.HttpServerExchange.resolvedPath:Ljava/lang/String;
         5: .line 210
            aload 0 /* this */
            ldc ""
            putfield io.undertow.server.HttpServerExchange.queryString:Ljava/lang/String;
         6: .line 212
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange.requestWrapperCount:I
         7: .line 215
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.HttpServerExchange.responseWrapperCount:I
         8: .line 221
            aload 0 /* this */
            ldc -1
            putfield io.undertow.server.HttpServerExchange.requestStartTime:J
         9: .line 257
            aload 0 /* this */
            lconst_0
            putfield io.undertow.server.HttpServerExchange.responseBytesSent:J
        10: .line 345
            aload 0 /* this */
            aload 1 /* connection */
            putfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
        11: .line 346
            aload 0 /* this */
            lload 4 /* maxEntitySize */
            putfield io.undertow.server.HttpServerExchange.maxEntitySize:J
        12: .line 347
            aload 0 /* this */
            aload 2 /* requestHeaders */
            putfield io.undertow.server.HttpServerExchange.requestHeaders:Lio/undertow/util/HeaderMap;
        13: .line 348
            aload 0 /* this */
            aload 3 /* responseHeaders */
            putfield io.undertow.server.HttpServerExchange.responseHeaders:Lio/undertow/util/HeaderMap;
        14: .line 349
            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   15     0             this  Lio/undertow/server/HttpServerExchange;
            0   15     1       connection  Lio/undertow/server/ServerConnection;
            0   15     2   requestHeaders  Lio/undertow/util/HeaderMap;
            0   15     3  responseHeaders  Lio/undertow/util/HeaderMap;
            0   15     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 357
            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 366
            aload 0 /* this */
            aload 1 /* protocol */
            putfield io.undertow.server.HttpServerExchange.protocol:Lio/undertow/util/HttpString;
         1: .line 367
            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 376
            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 385
            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 394
            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 398
            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 399
            aload 1 /* secure */
            ifnull 3
            aload 1 /* secure */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 3
         2: .line 400
            iconst_1
            ireturn
         3: .line 402
      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 403
            aload 2 /* scheme */
            ifnull 6
            aload 2 /* scheme */
            ldc "https"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 404
            iconst_1
            ireturn
         6: .line 406
      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 415
            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 424
            aload 0 /* this */
            aload 1 /* requestMethod */
            putfield io.undertow.server.HttpServerExchange.requestMethod:Lio/undertow/util/HttpString;
         1: .line 425
            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 434
            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 443
            aload 0 /* this */
            aload 1 /* requestScheme */
            putfield io.undertow.server.HttpServerExchange.requestScheme:Ljava/lang/String;
         1: .line 444
            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 458
            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 467
            aload 0 /* this */
            aload 1 /* requestURI */
            putfield io.undertow.server.HttpServerExchange.requestURI:Ljava/lang/String;
         1: .line 468
            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 478
            aload 0 /* this */
            aload 1 /* requestURI */
            putfield io.undertow.server.HttpServerExchange.requestURI:Ljava/lang/String;
         1: .line 479
            iload 2 /* containsHost */
            ifeq 4
         2: .line 480
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 65536
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         3: .line 481
            goto 5
         4: .line 482
      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 484
      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 497
            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 511
            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 520
            aload 0 /* this */
            aload 1 /* requestPath */
            putfield io.undertow.server.HttpServerExchange.requestPath:Ljava/lang/String;
         1: .line 521
            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 533
            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 542
            aload 0 /* this */
            aload 1 /* relativePath */
            putfield io.undertow.server.HttpServerExchange.relativePath:Ljava/lang/String;
         1: .line 543
            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 552
            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 561
            aload 0 /* this */
            aload 1 /* resolvedPath */
            putfield io.undertow.server.HttpServerExchange.resolvedPath:Ljava/lang/String;
         1: .line 562
            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 570
            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 574
            aload 0 /* this */
            aload 1 /* queryString */
            putfield io.undertow.server.HttpServerExchange.queryString:Ljava/lang/String;
         1: .line 575
            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 585
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.isHostIncludedInRequestURI:()Z
            ifeq 2
         1: .line 586
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestURI:()Ljava/lang/String;
            areturn
         2: .line 588
      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 599
            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 609
            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 610
            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 614
            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 615
            aload 2 /* contentType */
            ifnull 5
         2: .line 616
            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 617
            aload 3 /* value */
            ifnull 5
         4: .line 618
            aload 3 /* value */
            areturn
        end local 3 // java.lang.String value
         5: .line 621
      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 635
            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 636
            aload 1 /* host */
            ifnull 2
            ldc ""
            aload 1 /* host */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 637
      StackMap locals: java.lang.String
      StackMap stack:
            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 638
            goto 9
         4: .line 639
      StackMap locals:
      StackMap stack:
            aload 1 /* host */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         5: .line 640
            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 641
            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 642
            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 645
      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 658
            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 659
            aload 1 /* host */
            ifnull 2
            ldc ""
            aload 1 /* host */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         2: .line 660
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getDestinationAddress:()Ljava/net/InetSocketAddress;
            astore 2 /* address */
        start local 2 // java.net.InetSocketAddress address
         3: .line 661
            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 662
            aload 2 /* address */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            istore 3 /* port */
        start local 3 // int port
         5: .line 663
            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 664
      StackMap locals: 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 665
      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 668
      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 678
            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 679
            aload 1 /* host */
            ifnull 14
         2: .line 682
            aload 1 /* host */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 683
            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 684
            goto 6
        end local 2 // int colonIndex
         5: .line 685
      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 687
      StackMap locals: int
      StackMap stack:
            iload 2 /* colonIndex */
            iconst_m1
            if_icmpeq 10
         7: .line 689
            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 690
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        10: .line 692
      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 693
            sipush 443
            ireturn
        12: .line 694
      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 695
            bipush 80
            ireturn
        end local 2 // int colonIndex
        14: .line 699
      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 708
            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 712
            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 720
            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 728
            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 736
            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 737
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseBytesSent:J
            lreturn
         2: .line 739
      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 748
            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 749
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.responseBytesSent:J
            lload 1 /* bytes */
            ladd
            putfield io.undertow.server.HttpServerExchange.responseBytesSent:J
         2: .line 751
      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 754
            iload 1 /* persistent */
            ifeq 3
         1: .line 755
            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 756
            goto 4
         3: .line 757
      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 759
      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 763
            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 767
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc -32769
            iand
            putfield io.undertow.server.HttpServerExchange.state:I
         1: .line 768
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.HttpServerExchange.dispatchTask:Ljava/lang/Runnable;
         2: .line 769
            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 781
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 32768
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         1: .line 782
            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 797
            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 798
            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 813
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.isInCall:()Z
            ifeq 8
         1: .line 814
            aload 1 /* executor */
            ifnull 3
         2: .line 815
            aload 0 /* this */
            aload 1 /* executor */
            putfield io.undertow.server.HttpServerExchange.dispatchExecutor:Ljava/util/concurrent/Executor;
         3: .line 817
      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 818
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 786432
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 6
         5: .line 819
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.resumedAndDispatched:()Ljava/lang/IllegalStateException;
            athrow
         6: .line 821
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* runnable */
            putfield io.undertow.server.HttpServerExchange.dispatchTask:Ljava/lang/Runnable;
         7: .line 822
            goto 12
         8: .line 823
      StackMap locals:
      StackMap stack:
            aload 1 /* executor */
            ifnonnull 11
         9: .line 824
            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 825
            goto 12
        11: .line 826
      StackMap locals:
      StackMap stack:
            aload 1 /* executor */
            aload 2 /* runnable */
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        12: .line 829
      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 833
            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 834
            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 838
            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 844
            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 845
            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 854
            aload 1 /* executor */
            ifnonnull 3
         1: .line 855
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.HttpServerExchange.dispatchExecutor:Ljava/util/concurrent/Executor;
         2: .line 856
            goto 4
         3: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* executor */
            putfield io.undertow.server.HttpServerExchange.dispatchExecutor:Ljava/util/concurrent/Executor;
         4: .line 859
      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 868
            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 875
            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 879
            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 883
            iload 1 /* value */
            ifeq 3
         1: .line 884
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 131072
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         2: .line 885
            goto 4
         3: .line 886
      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 888
      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 901
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.isUpgradeSupported:()Z
            ifne 2
         1: .line 902
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.upgradeNotSupported:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 904
      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 905
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.notAnUpgradeRequest:()Ljava/lang/IllegalStateException;
            athrow
         4: .line 907
      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 908
            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 909
            aload 0 /* this */
            bipush 101
            invokevirtual io.undertow.server.HttpServerExchange.setStatusCode:(I)Lio/undertow/server/HttpServerExchange;
            pop
         7: .line 910
            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 911
            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 924
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.isUpgradeSupported:()Z
            ifne 2
         1: .line 925
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.upgradeNotSupported:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 927
      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 928
            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 929
            aload 0 /* this */
            bipush 101
            invokevirtual io.undertow.server.HttpServerExchange.setStatusCode:(I)Lio/undertow/server/HttpServerExchange;
            pop
         5: .line 930
            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 931
            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 932
            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 933
            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 942
            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 943
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.notAConnectRequest:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 945
      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 946
            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 951
            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 952
      StackMap locals:
      StackMap stack:
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.exchangeAlreadyComplete:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 954
      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 955
            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 956
            aload 3 /* exchangeCompleteListeners */
            ifnull 5
            aload 3 /* exchangeCompleteListeners */
            arraylength
            iload 2 /* exchangeCompletionListenersCount */
            if_icmpne 9
         5: .line 957
      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 958
            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 959
            aload 4 /* old */
            ifnull 9
         8: .line 960
            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 963
      StackMap locals:
      StackMap stack:
            aload 3 /* exchangeCompleteListeners */
            iload 2 /* exchangeCompletionListenersCount */
            aload 1 /* listener */
            aastore
        10: .line 964
            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 968
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: .line 969
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            ifnonnull 5
         2: .line 970
            aload 0 /* this */
            iconst_2
            anewarray io.undertow.server.DefaultResponseListener
            putfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
         3: .line 971
            goto 10
         4: .line 973
      StackMap locals: int
      StackMap stack:
            iinc 2 /* i */ 1
         5: .line 972
      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 975
      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 976
            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 977
            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 978
            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 981
      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 982
            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 991
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.sourceAddress:Ljava/net/InetSocketAddress;
            ifnull 2
         1: .line 992
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.sourceAddress:Ljava/net/InetSocketAddress;
            areturn
         2: .line 994
      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 1004
            aload 0 /* this */
            aload 1 /* sourceAddress */
            putfield io.undertow.server.HttpServerExchange.sourceAddress:Ljava/net/InetSocketAddress;
         1: .line 1005
            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 1014
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.destinationAddress:Ljava/net/InetSocketAddress;
            ifnull 2
         1: .line 1015
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.destinationAddress:Ljava/net/InetSocketAddress;
            areturn
         2: .line 1017
      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 1027
            aload 0 /* this */
            aload 1 /* destinationAddress */
            putfield io.undertow.server.HttpServerExchange.destinationAddress:Ljava/net/InetSocketAddress;
         1: .line 1028
            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 1037
            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 1044
            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 1045
            aload 1 /* contentLengthString */
            ifnonnull 3
         2: .line 1046
            ldc -1
            lreturn
         3: .line 1048
      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 1057
            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 1064
            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 1065
            aload 1 /* contentLengthString */
            ifnonnull 3
         2: .line 1066
            ldc -1
            lreturn
         3: .line 1068
      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 1077
            lload 1 /* length */
            ldc -1
            lcmp
            ifne 3
         1: .line 1078
            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 1079
            goto 4
         3: .line 1080
      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 1082
      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 1091
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.queryParameters:Ljava/util/Map;
            ifnonnull 2
         1: .line 1092
            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 1094
      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 1098
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.queryParameters:Ljava/util/Map;
            ifnonnull 2
         1: .line 1099
            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 1101
      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 1102
            aload 3 /* list */
            ifnonnull 5
         4: .line 1103
            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 1105
      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 1106
            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 1116
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.pathParameters:Ljava/util/Map;
            ifnonnull 2
         1: .line 1117
            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 1119
      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 1123
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.pathParameters:Ljava/util/Map;
            ifnonnull 2
         1: .line 1124
            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 1126
      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 1127
            aload 3 /* list */
            ifnonnull 5
         4: .line 1128
            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 1130
      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 1131
            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=4, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1140
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.deprecatedRequestCookies:Ljava/util/Map;
            ifnonnull 2
         1: .line 1141
            aload 0 /* this */
            new io.undertow.server.MapDelegatingToSet
            dup
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.requestCookies:()Ljava/lang/Iterable;
            checkcast io.undertow.server.DelegatingIterable
            invokevirtual io.undertow.server.DelegatingIterable.getDelegate:()Ljava/lang/Iterable;
            checkcast java.util.Set
            invokespecial io.undertow.server.MapDelegatingToSet.<init>:(Ljava/util/Set;)V
            putfield io.undertow.server.HttpServerExchange.deprecatedRequestCookies:Ljava/util/Map;
         2: .line 1143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.deprecatedRequestCookies: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;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public io.undertow.server.HttpServerExchange setRequestCookie(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 1152
            aload 1 /* cookie */
            ifnonnull 1
            aload 0 /* this */
            areturn
         1: .line 1153
      StackMap locals:
      StackMap stack:
            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 8
         2: .line 1154
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getValue:()Ljava/lang/String;
            ifnull 4
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getValue:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 4
         3: .line 1155
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getValue:()Ljava/lang/String;
            invokestatic io.undertow.util.Rfc6265CookieSupport.validateCookieValue:(Ljava/lang/String;)V
         4: .line 1157
      StackMap locals:
      StackMap stack:
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getPath:()Ljava/lang/String;
            ifnull 6
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getPath:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 6
         5: .line 1158
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getPath:()Ljava/lang/String;
            invokestatic io.undertow.util.Rfc6265CookieSupport.validatePath:(Ljava/lang/String;)V
         6: .line 1160
      StackMap locals:
      StackMap stack:
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getDomain:()Ljava/lang/String;
            ifnull 8
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getDomain:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 8
         7: .line 1161
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getDomain:()Ljava/lang/String;
            invokestatic io.undertow.util.Rfc6265CookieSupport.validateDomain:(Ljava/lang/String;)V
         8: .line 1164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.requestCookies:()Ljava/lang/Iterable;
            checkcast io.undertow.server.DelegatingIterable
            invokevirtual io.undertow.server.DelegatingIterable.getDelegate:()Ljava/lang/Iterable;
            checkcast java.util.Set
            aload 1 /* cookie */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1165
            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   10     0    this  Lio/undertow/server/HttpServerExchange;
            0   10     1  cookie  Lio/undertow/server/handlers/Cookie;
    MethodParameters:
        Name  Flags
      cookie  final

  public io.undertow.server.handlers.Cookie getRequestCookie(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/undertow/server/handlers/Cookie;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.undertow.server.HttpServerExchange this
        start local 1 // java.lang.String name
         0: .line 1169
            aload 1 /* name */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 1170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.requestCookies:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: io.undertow.server.HttpServerExchange java.lang.String top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.undertow.server.handlers.Cookie
            astore 2 /* cookie */
        start local 2 // io.undertow.server.handlers.Cookie cookie
         3: .line 1171
            aload 1 /* name */
            aload 2 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 1175
            aload 2 /* cookie */
            areturn
        end local 2 // io.undertow.server.handlers.Cookie cookie
         5: .line 1170
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 1178
            aconst_null
            areturn
        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;
            3    5     2  cookie  Lio/undertow/server/handlers/Cookie;
    MethodParameters:
      Name  Flags
      name  final

  public java.lang.Iterable<io.undertow.server.handlers.Cookie> requestCookies();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1186
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestCookies:Lio/undertow/server/DelegatingIterable;
            ifnonnull 7
         1: .line 1187
            new io.undertow.server.OverridableTreeSet
            dup
            invokespecial io.undertow.server.OverridableTreeSet.<init>:()V
            astore 1 /* requestCookiesParam */
        start local 1 // java.util.Set requestCookiesParam
         2: .line 1188
            aload 0 /* this */
            new io.undertow.server.DelegatingIterable
            dup
            aload 1 /* requestCookiesParam */
            invokespecial io.undertow.server.DelegatingIterable.<init>:(Ljava/lang/Iterable;)V
            putfield io.undertow.server.HttpServerExchange.requestCookies:Lio/undertow/server/DelegatingIterable;
         3: .line 1190
            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
         4: .line 1191
            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
         5: .line 1192
            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;
            aload 1 /* requestCookiesParam */
         6: .line 1189
            invokestatic io.undertow.util.Cookies.parseRequestCookies:(IZLjava/util/List;Ljava/util/Set;)V
        end local 1 // java.util.Set requestCookiesParam
         7: .line 1194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestCookies:Lio/undertow/server/DelegatingIterable;
            areturn
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Lio/undertow/server/HttpServerExchange;
            2    7     1  requestCookiesParam  Ljava/util/Set<Lio/undertow/server/handlers/Cookie;>;
    Signature: ()Ljava/lang/Iterable<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 1203
            aload 1 /* cookie */
            ifnonnull 1
            aload 0 /* this */
            areturn
         1: .line 1204
      StackMap locals:
      StackMap stack:
            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 8
         2: .line 1205
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getValue:()Ljava/lang/String;
            ifnull 4
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getValue:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 4
         3: .line 1206
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getValue:()Ljava/lang/String;
            invokestatic io.undertow.util.Rfc6265CookieSupport.validateCookieValue:(Ljava/lang/String;)V
         4: .line 1208
      StackMap locals:
      StackMap stack:
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getPath:()Ljava/lang/String;
            ifnull 6
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getPath:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 6
         5: .line 1209
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getPath:()Ljava/lang/String;
            invokestatic io.undertow.util.Rfc6265CookieSupport.validatePath:(Ljava/lang/String;)V
         6: .line 1211
      StackMap locals:
      StackMap stack:
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getDomain:()Ljava/lang/String;
            ifnull 8
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getDomain:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 8
         7: .line 1212
            aload 1 /* cookie */
            invokeinterface io.undertow.server.handlers.Cookie.getDomain:()Ljava/lang/String;
            invokestatic io.undertow.util.Rfc6265CookieSupport.validateDomain:(Ljava/lang/String;)V
         8: .line 1215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.responseCookies:()Ljava/lang/Iterable;
            checkcast io.undertow.server.DelegatingIterable
            invokevirtual io.undertow.server.DelegatingIterable.getDelegate:()Ljava/lang/Iterable;
            checkcast java.util.Set
            aload 1 /* cookie */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1216
            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   10     0    this  Lio/undertow/server/HttpServerExchange;
            0   10     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=4, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1225
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.deprecatedResponseCookies:Ljava/util/Map;
            ifnonnull 2
         1: .line 1226
            aload 0 /* this */
            new io.undertow.server.MapDelegatingToSet
            dup
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.responseCookies:()Ljava/lang/Iterable;
            checkcast io.undertow.server.DelegatingIterable
            invokevirtual io.undertow.server.DelegatingIterable.getDelegate:()Ljava/lang/Iterable;
            checkcast java.util.Set
            invokespecial io.undertow.server.MapDelegatingToSet.<init>:(Ljava/util/Set;)V
            putfield io.undertow.server.HttpServerExchange.deprecatedResponseCookies:Ljava/util/Map;
         2: .line 1228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.deprecatedResponseCookies: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;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.lang.Iterable<io.undertow.server.handlers.Cookie> responseCookies();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1236
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseCookies:Lio/undertow/server/DelegatingIterable;
            ifnonnull 2
         1: .line 1237
            aload 0 /* this */
            new io.undertow.server.DelegatingIterable
            dup
            new io.undertow.server.OverridableTreeSet
            dup
            invokespecial io.undertow.server.OverridableTreeSet.<init>:()V
            invokespecial io.undertow.server.DelegatingIterable.<init>:(Ljava/lang/Iterable;)V
            putfield io.undertow.server.HttpServerExchange.responseCookies:Lio/undertow/server/DelegatingIterable;
         2: .line 1239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseCookies:Lio/undertow/server/DelegatingIterable;
            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/lang/Iterable<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 1246
            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 1258
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            ifnull 5
         1: .line 1259
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 1048576
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 4
         2: .line 1260
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc -1048577
            iand
            putfield io.undertow.server.HttpServerExchange.state:I
         3: .line 1261
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            areturn
         4: .line 1263
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         5: .line 1265
      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 1266
            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 1268
      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 1269
            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 1270
            aload 1 /* wrappers */
            ifnull 13
        10: .line 1271
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.HttpServerExchange.requestWrappers:[Lio/undertow/server/ConduitWrapper;
        11: .line 1272
            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 1273
            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 1275
      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 1279
            aload 0 /* this */
            dup
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 1048576
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         1: .line 1280
            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 1283
            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 1291
            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 1301
            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 1302
            aload 1 /* data */
            ifnull 3
         2: .line 1303
            iconst_0
            ireturn
         3: .line 1305
      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 1312
            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 1320
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            istore 1 /* oldVal */
        start local 1 // int oldVal
         1: .line 1321
            iload 1 /* oldVal */
            sipush 4096
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 3
         2: .line 1323
            return
         3: .line 1325
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            ifnull 5
         4: .line 1326
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.requestDone:()V
         5: .line 1328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* oldVal */
            sipush 4096
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         6: .line 1329
            iload 1 /* oldVal */
            sipush 2048
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 8
         7: .line 1330
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.invokeExchangeCompleteListeners:()V
         8: .line 1332
      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 1335
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
            ifle 6
         1: .line 1336
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
            iconst_1
            isub
            istore 1 /* i */
        start local 1 // int i
         2: .line 1337
            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 1338
            aload 0 /* this */
            iconst_m1
            putfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
         4: .line 1339
            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 1340
            goto 9
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
            ifne 9
         7: .line 1341
            aload 0 /* this */
            iconst_m1
            putfield io.undertow.server.HttpServerExchange.exchangeCompletionListenersCount:I
         8: .line 1342
            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 1344
      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 1367
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            ifnull 2
         1: .line 1368
            aconst_null
            areturn
         2: .line 1370
      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 1371
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.HttpServerExchange.responseWrappers:[Lio/undertow/server/ConduitWrapper;
         4: .line 1372
            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 1373
            aload 2 /* sinkChannel */
            ifnonnull 7
         6: .line 1374
            aconst_null
            areturn
         7: .line 1376
      StackMap locals: io.undertow.server.ConduitWrapper[] org.xnio.conduits.ConduitStreamSinkChannel
      StackMap stack:
            aload 1 /* wrappers */
            ifnull 11
         8: .line 1377
            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 1378
            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 1379
            goto 12
        11: .line 1380
      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 1382
      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 1383
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.startResponse:()Lio/undertow/server/HttpServerExchange;
            pop
        14: .line 1384
            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 1396
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnull 2
         1: .line 1397
            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 1399
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.sender:Lio/undertow/io/Sender;
            ifnull 4
         3: .line 1400
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.sender:Lio/undertow/io/Sender;
            areturn
         4: .line 1402
      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 1406
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnull 2
         1: .line 1407
            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 1409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.receiver:Lio/undertow/io/Receiver;
            ifnull 4
         3: .line 1410
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.receiver:Lio/undertow/io/Receiver;
            areturn
         4: .line 1412
      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 1419
            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 1431
            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 1444
            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 1453
            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 1464
            iload 1 /* statusCode */
            iflt 1
            iload 1 /* statusCode */
            sipush 999
            if_icmple 2
         1: .line 1465
      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 1467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            istore 2 /* oldVal */
        start local 2 // int oldVal
         3: .line 1468
            iload 2 /* oldVal */
            sipush 1024
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 5
         4: .line 1469
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.responseAlreadyStarted:()Ljava/lang/IllegalStateException;
            athrow
         5: .line 1471
      StackMap locals: int
      StackMap stack:
            iload 1 /* statusCode */
            sipush 500
            if_icmplt 8
         6: .line 1472
            getstatic io.undertow.UndertowLogger.ERROR_RESPONSE:Lio/undertow/UndertowLogger;
            invokeinterface io.undertow.UndertowLogger.isDebugEnabled:()Z
            ifeq 8
         7: .line 1473
            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 1476
      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 1477
            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 1490
            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 1491
            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 1499
            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 1508
            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 1509
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            ifnull 3
         2: .line 1510
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.requestChannelAlreadyProvided:()Ljava/lang/IllegalStateException;
            athrow
         3: .line 1512
      StackMap locals: io.undertow.server.ConduitWrapper[]
      StackMap stack:
            aload 2 /* wrappers */
            ifnonnull 6
         4: .line 1513
            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 1514
            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 1515
            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 1516
            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 1517
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestWrappers:[Lio/undertow/server/ConduitWrapper;
            astore 2 /* wrappers */
        10: .line 1519
      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 1520
            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 1529
            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 1530
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            ifnull 3
         2: .line 1531
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.responseChannelAlreadyProvided:()Ljava/lang/IllegalStateException;
            athrow
         3: .line 1533
      StackMap locals: io.undertow.server.ConduitWrapper[]
      StackMap stack:
            aload 2 /* wrappers */
            ifnonnull 6
         4: .line 1534
            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 1535
            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 1536
            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 1537
            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 1538
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseWrappers:[Lio/undertow/server/ConduitWrapper;
            astore 2 /* wrappers */
        10: .line 1540
      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 1541
            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 1555
            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 1556
            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 1557
            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 1575
            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 1576
            aload 0 /* this */
            aload 1 /* httpExchange */
            putfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
         2: .line 1577
            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 1586
            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 1594
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnonnull 2
         1: .line 1595
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.startBlockingHasNotBeenCalled:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 1597
      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 1605
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnonnull 2
         1: .line 1606
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.startBlockingHasNotBeenCalled:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 1608
      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 1616
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            istore 1 /* oldVal */
        start local 1 // int oldVal
         1: .line 1617
            iload 1 /* oldVal */
            sipush 2048
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 3
         2: .line 1619
            aload 0 /* this */
            areturn
         3: .line 1621
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            ifnull 5
         4: .line 1622
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$WriteDispatchChannel.responseDone:()V
         5: .line 1624
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* oldVal */
            sipush 2048
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         6: .line 1625
            iload 1 /* oldVal */
            sipush 4096
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 8
         7: .line 1626
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.invokeExchangeCompleteListeners:()V
         8: .line 1628
      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 1638
            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 1643
            aload 0 /* this */
            lload 1 /* requestStartTime */
            putfield io.undertow.server.HttpServerExchange.requestStartTime:J
         1: .line 1644
            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 1656
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            istore 1 /* state */
        start local 1 // int state
         1: .line 1657
            iload 1 /* state */
            sipush 6144
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 5
         2: .line 1658
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnull 4
         3: .line 1660
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         4: .line 1662
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            areturn
         5: .line 1664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            ifnull 18
         6: .line 1665
            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 1666
            goto 17
         8: .line 1667
      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 1668
            aload 3 /* listener */
            ifnull 16
        10: .line 1669
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.defaultResponseListeners:[Lio/undertow/server/DefaultResponseListener;
            iload 2 /* i */
            aconst_null
            aastore
        11: .line 1671
            aload 3 /* listener */
            aload 0 /* this */
            invokeinterface io.undertow.server.DefaultResponseListener.handleDefaultResponse:(Lio/undertow/server/HttpServerExchange;)Z
            ifeq 16
        12: .line 1672
            aload 0 /* this */
        13: areturn
        14: .line 1674
      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 1675
            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 1678
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
        end local 3 // io.undertow.server.DefaultResponseListener listener
        17: .line 1666
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            ifge 8
        end local 2 // int i
        18: .line 1682
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            sipush 4096
            invokestatic org.xnio.Bits.anyAreClear:(II)Z
            ifeq 20
        19: .line 1683
            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 1686
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            ifnull 30
        21: .line 1689
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.blockingHttpExchange:Lio/undertow/server/BlockingHttpExchange;
            invokeinterface io.undertow.server.BlockingHttpExchange.close:()V
        22: .line 1690
            goto 30
      StackMap locals:
      StackMap stack: java.io.IOException
        23: astore 2 /* e */
        start local 2 // java.io.IOException e
        24: .line 1691
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 2 /* e */
            invokeinterface io.undertow.UndertowLogger.ioException:(Ljava/io/IOException;)V
        25: .line 1692
            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 1693
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        28: .line 1694
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 2 /* t */
            invokeinterface io.undertow.UndertowLogger.handleUnexpectedFailure:(Ljava/lang/Throwable;)V
        29: .line 1695
            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 1701
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            sipush 4096
            invokestatic org.xnio.Bits.anyAreClear:(II)Z
            ifeq 55
        31: .line 1705
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            ifnonnull 33
        32: .line 1706
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getRequestChannel:()Lorg/xnio/channels/StreamSourceChannel;
            pop
        33: .line 1708
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* totalRead */
        start local 2 // int totalRead
        34: .line 1711
      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 1712
            iload 2 /* totalRead */
            i2l
            lload 3 /* read */
            ladd
            l2i
            istore 2 /* totalRead */
        36: .line 1713
            lload 3 /* read */
            lconst_0
            lcmp
            ifne 45
        37: .line 1719
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getStatusCode:()I
            sipush 417
            if_icmpne 38
            iload 2 /* totalRead */
            ifle 55
        38: .line 1720
      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 1721
            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 1728
            new io.undertow.server.HttpServerExchange$3
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.HttpServerExchange$3.<init>:(Lio/undertow/server/HttpServerExchange;)V
        41: .line 1720
            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 1741
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.resumeReads:()V
        43: .line 1742
            aload 0 /* this */
        44: areturn
        45: .line 1746
      StackMap locals:
      StackMap stack:
            lload 3 /* read */
            ldc -1
            lcmp
            ifne 34
        46: .line 1747
            goto 55
        end local 3 // long read
        47: .line 1749
      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 1750
            aload 3 /* t */
            instanceof java.io.IOException
            ifeq 51
        49: .line 1751
            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 1752
            goto 52
        51: .line 1753
      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 1755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.invokeExchangeCompleteListeners:()V
        53: .line 1756
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        54: .line 1757
            aload 0 /* this */
            areturn
        end local 3 // java.lang.Throwable t
        end local 2 // int totalRead
        55: .line 1762
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            sipush 2048
            invokestatic org.xnio.Bits.anyAreClear:(II)Z
            ifeq 57
        56: .line 1763
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.closeAndFlushResponse:()V
        57: .line 1765
      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 1769
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.isOpen:()Z
            ifne 4
         1: .line 1773
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.terminateRequest:()V
         2: .line 1774
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.terminateResponse:()Lio/undertow/server/HttpServerExchange;
            pop
         3: .line 1775
            return
         4: .line 1778
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.isResponseChannelAvailable:()Z
            ifeq 10
         5: .line 1779
            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 8
            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 6
            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 8
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            invokestatic io.undertow.server.Connectors.isEntityBodyAllowed:(Lio/undertow/server/HttpServerExchange;)Z
            ifeq 8
         7: .line 1781
            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
         8: .line 1783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.getResponseChannel:()Lorg/xnio/channels/StreamSinkChannel;
            pop
         9: .line 1784
            goto 14
      StackMap locals:
      StackMap stack:
        10: aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            sipush 2048
            invokestatic org.xnio.Bits.anyAreClear:(II)Z
            ifeq 14
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$WriteDispatchChannel.isOpen:()Z
            ifne 14
        11: .line 1788
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.invokeExchangeCompleteListeners:()V
        12: .line 1789
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        13: .line 1790
            return
        14: .line 1792
      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
        15: .line 1793
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$WriteDispatchChannel.flush:()Z
            ifne 22
        16: .line 1794
            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;
        17: .line 1795
            new io.undertow.server.HttpServerExchange$4
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.HttpServerExchange$4.<init>:(Lio/undertow/server/HttpServerExchange;)V
        18: .line 1808
            new io.undertow.server.HttpServerExchange$5
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.HttpServerExchange$5.<init>:(Lio/undertow/server/HttpServerExchange;)V
        19: .line 1794
            invokestatic org.xnio.ChannelListeners.flushingChannelListener:(Lorg/xnio/ChannelListener;Lorg/xnio/ChannelExceptionHandler;)Lorg/xnio/ChannelListener;
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
        20: .line 1818
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$WriteDispatchChannel.resumeWrites:()V
        21: .line 1819
            goto 34
        22: .line 1821
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            sipush 2048
            invokestatic org.xnio.Bits.anyAreClear:(II)Z
            ifeq 34
        23: .line 1823
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.invokeExchangeCompleteListeners:()V
        24: .line 1824
            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
        25: .line 1825
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.connection:Lio/undertow/server/ServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        26: .line 1828
            goto 34
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 1 /* t */
        start local 1 // java.lang.Throwable t
        28: .line 1829
            aload 1 /* t */
            instanceof java.io.IOException
            ifeq 31
        29: .line 1830
            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
        30: .line 1831
            goto 32
        31: .line 1832
      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
        32: .line 1834
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.invokeExchangeCompleteListeners:()V
        33: .line 1836
            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
        34: .line 1838
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.HttpServerExchange this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   35     0  this  Lio/undertow/server/HttpServerExchange;
           28   34     1     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    13      27  Class java.lang.Throwable
          14    26      27  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 1860
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            istore 1 /* oldVal */
        start local 1 // int oldVal
         1: .line 1861
            iload 1 /* oldVal */
            sipush 1024
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 3
         2: .line 1862
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.responseAlreadyStarted:()Ljava/lang/IllegalStateException;
            athrow
         3: .line 1864
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* oldVal */
            sipush 1024
            ior
            putfield io.undertow.server.HttpServerExchange.state:I
         4: .line 1866
            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 1867
            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 1871
            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 1878
            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 1887
            aload 0 /* this */
            invokevirtual io.undertow.server.HttpServerExchange.isRequestChannelAvailable:()Z
            ifne 2
         1: .line 1888
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.requestChannelAlreadyProvided:()Ljava/lang/IllegalStateException;
            athrow
         2: .line 1890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* maxEntitySize */
            putfield io.undertow.server.HttpServerExchange.maxEntitySize:J
         3: .line 1891
            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 1892
            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 1896
            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 1900
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1901
            aload 2 /* sm */
            ifnull 3
         2: .line 1902
            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 1904
      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 1905
            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 1917
            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 1924
            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 1932
            iconst_0
            istore 1 /* ret */
        start local 1 // boolean ret
         1: .line 1933
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 524288
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 4
         2: .line 1934
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.responseChannel:Lio/undertow/server/HttpServerExchange$WriteDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$WriteDispatchChannel.runResume:()V
         3: .line 1935
            iconst_1
            istore 1 /* ret */
         4: .line 1937
      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 1938
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.requestChannel:Lio/undertow/server/HttpServerExchange$ReadDispatchChannel;
            invokevirtual io.undertow.server.HttpServerExchange$ReadDispatchChannel.runResume:()V
         6: .line 1939
            iconst_1
            istore 1 /* ret */
         7: .line 1941
      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

  boolean isResumed();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.HttpServerExchange this
         0: .line 1945
            aload 0 /* this */
            getfield io.undertow.server.HttpServerExchange.state:I
            ldc 786432
            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 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 2522
            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;
            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