public class io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel extends io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel
  super_class: io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel
{
  private final org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel> finishListener;
    descriptor: Lorg/xnio/ChannelListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/xnio/ChannelListener<Lio/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel;>;

  public static final int DEFAULT_MAX_DATA_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8192

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

  private final java.lang.String path;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private boolean firstFrameWritten;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

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

  private io.undertow.server.protocol.framed.SendFrameHeader header;
    descriptor: Lio/undertow/server/protocol/framed/SendFrameHeader;
    flags: (0x0002) ACC_PRIVATE

  private boolean discardMode;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  void <init>(io.undertow.protocols.ajp.AjpClientChannel, org.xnio.ChannelListener<io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel>, io.undertow.util.HeaderMap, java.lang.String, io.undertow.util.HttpString, io.undertow.util.HttpString, io.undertow.util.Attachable);
    descriptor: (Lio/undertow/protocols/ajp/AjpClientChannel;Lorg/xnio/ChannelListener;Lio/undertow/util/HeaderMap;Ljava/lang/String;Lio/undertow/util/HttpString;Lio/undertow/util/HttpString;Lio/undertow/util/Attachable;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=8, args_size=8
        start local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
        start local 1 // io.undertow.protocols.ajp.AjpClientChannel channel
        start local 2 // org.xnio.ChannelListener finishListener
        start local 3 // io.undertow.util.HeaderMap headers
        start local 4 // java.lang.String path
        start local 5 // io.undertow.util.HttpString method
        start local 6 // io.undertow.util.HttpString protocol
        start local 7 // io.undertow.util.Attachable attachable
         0: .line 79
            aload 0 /* this */
            aload 1 /* channel */
            invokespecial io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel.<init>:(Lio/undertow/protocols/ajp/AjpClientChannel;)V
         1: .line 69
            aload 0 /* this */
            iconst_0
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.firstFrameWritten:Z
         2: .line 71
            aload 0 /* this */
            iconst_m1
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.requestedChunkSize:I
         3: .line 76
            aload 0 /* this */
            iconst_0
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.discardMode:Z
         4: .line 80
            aload 0 /* this */
            aload 2 /* finishListener */
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.finishListener:Lorg/xnio/ChannelListener;
         5: .line 81
            aload 0 /* this */
            aload 3 /* headers */
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.headers:Lio/undertow/util/HeaderMap;
         6: .line 82
            aload 0 /* this */
            aload 4 /* path */
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.path:Ljava/lang/String;
         7: .line 83
            aload 0 /* this */
            aload 5 /* method */
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.method:Lio/undertow/util/HttpString;
         8: .line 84
            aload 0 /* this */
            aload 6 /* protocol */
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.protocol:Lio/undertow/util/HttpString;
         9: .line 85
            aload 0 /* this */
            aload 7 /* attachable */
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
        10: .line 86
            return
        end local 7 // io.undertow.util.Attachable attachable
        end local 6 // io.undertow.util.HttpString protocol
        end local 5 // io.undertow.util.HttpString method
        end local 4 // java.lang.String path
        end local 3 // io.undertow.util.HeaderMap headers
        end local 2 // org.xnio.ChannelListener finishListener
        end local 1 // io.undertow.protocols.ajp.AjpClientChannel channel
        end local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lio/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel;
            0   11     1         channel  Lio/undertow/protocols/ajp/AjpClientChannel;
            0   11     2  finishListener  Lorg/xnio/ChannelListener<Lio/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel;>;
            0   11     3         headers  Lio/undertow/util/HeaderMap;
            0   11     4            path  Ljava/lang/String;
            0   11     5          method  Lio/undertow/util/HttpString;
            0   11     6        protocol  Lio/undertow/util/HttpString;
            0   11     7      attachable  Lio/undertow/util/Attachable;
    Signature: (Lio/undertow/protocols/ajp/AjpClientChannel;Lorg/xnio/ChannelListener<Lio/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel;>;Lio/undertow/util/HeaderMap;Ljava/lang/String;Lio/undertow/util/HttpString;Lio/undertow/util/HttpString;Lio/undertow/util/Attachable;)V
    MethodParameters:
                Name  Flags
      channel         
      finishListener  
      headers         
      path            
      method          
      protocol        
      attachable      

  private io.undertow.server.protocol.framed.SendFrameHeader createFrameHeaderImpl();
    descriptor: ()Lio/undertow/server/protocol/framed/SendFrameHeader;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=23, args_size=1
        start local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
         0: .line 90
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.discardMode:Z
            ifeq 4
         1: .line 91
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
         2: .line 92
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
         3: .line 93
            new io.undertow.server.protocol.framed.SendFrameHeader
            dup
            new io.undertow.util.ImmediatePooledByteBuffer
            dup
            iconst_0
            newarray 8
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokespecial io.undertow.util.ImmediatePooledByteBuffer.<init>:(Ljava/nio/ByteBuffer;)V
            invokespecial io.undertow.server.protocol.framed.SendFrameHeader.<init>:(Lio/undertow/connector/PooledByteBuffer;)V
            areturn
         4: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.getChannel:()Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            checkcast io.undertow.protocols.ajp.AjpClientChannel
            invokevirtual io.undertow.protocols.ajp.AjpClientChannel.getBufferPool:()Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            astore 1 /* pooledHeaderBuffer */
        start local 1 // io.undertow.connector.PooledByteBuffer pooledHeaderBuffer
         5: .line 98
            aload 1 /* pooledHeaderBuffer */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         6: .line 99
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.getBuffer:()Ljava/nio/ByteBuffer;
            astore 3 /* dataBuffer */
        start local 3 // java.nio.ByteBuffer dataBuffer
         7: .line 100
            aload 3 /* dataBuffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 4 /* dataInBuffer */
        start local 4 // int dataInBuffer
         8: .line 101
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.firstFrameWritten:Z
            ifne 11
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.requestedChunkSize:I
            ifne 11
         9: .line 103
            new io.undertow.server.protocol.framed.SendFrameHeader
            dup
            iload 4 /* dataInBuffer */
            aconst_null
            invokespecial io.undertow.server.protocol.framed.SendFrameHeader.<init>:(ILio/undertow/connector/PooledByteBuffer;)V
        10: areturn
        11: .line 105
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.getChannel:()Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            checkcast io.undertow.protocols.ajp.AjpClientChannel
            invokevirtual io.undertow.protocols.ajp.AjpClientChannel.getSettings:()Lorg/xnio/OptionMap;
            getstatic io.undertow.UndertowOptions.MAX_AJP_PACKET_SIZE:Lorg/xnio/Option;
            sipush 8192
            invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
            bipush 6
            isub
            istore 5 /* maxData */
        start local 5 // int maxData
        12: .line 107
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.firstFrameWritten:Z
            ifne 116
        13: .line 108
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.headers: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 6 /* contentLength */
        start local 6 // java.lang.String contentLength
        14: .line 109
            aload 6 /* contentLength */
            ifnull 19
        15: .line 110
            aload 0 /* this */
            aload 6 /* contentLength */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.dataSize:J
        16: .line 111
            aload 0 /* this */
            iload 5 /* maxData */
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.requestedChunkSize:I
        17: .line 112
            iload 4 /* dataInBuffer */
            i2l
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.dataSize:J
            lcmp
            ifle 27
        18: .line 113
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.fixedLengthOverflow:()Ljava/lang/IllegalStateException;
            athrow
        19: .line 115
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.isWritesShutdown:()Z
            ifeq 24
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.headers:Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.TRANSFER_ENCODING:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.contains:(Lio/undertow/util/HttpString;)Z
            ifne 24
        20: .line 117
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.headers:Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
            iload 4 /* dataInBuffer */
            i2l
            invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;J)Lio/undertow/util/HeaderMap;
            pop
        21: .line 118
            aload 0 /* this */
            iload 4 /* dataInBuffer */
            i2l
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.dataSize:J
        22: .line 119
            aload 0 /* this */
            iload 5 /* maxData */
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.requestedChunkSize:I
        23: .line 120
            goto 27
        24: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.headers:Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.TRANSFER_ENCODING:Lio/undertow/util/HttpString;
            getstatic io.undertow.util.Headers.CHUNKED:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HttpString.toString:()Ljava/lang/String;
            invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
            pop
        25: .line 122
            aload 0 /* this */
            ldc -1
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.dataSize:J
        26: .line 123
            aload 0 /* this */
            iconst_0
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.requestedChunkSize:I
        27: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.firstFrameWritten:Z
        28: .line 129
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.path:Ljava/lang/String;
            bipush 63
            invokevirtual java.lang.String.indexOf:(I)I
            istore 9 /* qsIndex */
        start local 9 // int qsIndex
        29: .line 130
            iload 9 /* qsIndex */
            iconst_m1
            if_icmpne 33
        30: .line 131
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.path:Ljava/lang/String;
            astore 7 /* path */
        start local 7 // java.lang.String path
        31: .line 132
            aconst_null
            astore 8 /* queryString */
        start local 8 // java.lang.String queryString
        32: .line 133
            goto 35
        end local 8 // java.lang.String queryString
        end local 7 // java.lang.String path
        33: .line 134
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int java.lang.String top top int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.path:Ljava/lang/String;
            iconst_0
            iload 9 /* qsIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* path */
        start local 7 // java.lang.String path
        34: .line 135
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.path:Ljava/lang/String;
            iload 9 /* qsIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 8 /* queryString */
        start local 8 // java.lang.String queryString
        35: .line 138
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            aload 2 /* buffer */
            bipush 18
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        36: .line 139
            aload 2 /* buffer */
            bipush 52
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        37: .line 140
            aload 2 /* buffer */
            iconst_0
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        38: .line 141
            aload 2 /* buffer */
            iconst_0
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        39: .line 142
            aload 2 /* buffer */
            iconst_2
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        40: .line 143
            iconst_0
            istore 10 /* storeMethod */
        start local 10 // boolean storeMethod
        41: .line 144
            getstatic io.undertow.protocols.ajp.AjpConstants.HTTP_METHODS_MAP:Ljava/util/Map;
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.method:Lio/undertow/util/HttpString;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 11 /* methodNp */
        start local 11 // java.lang.Integer methodNp
        42: .line 145
            aload 11 /* methodNp */
            ifnonnull 45
        43: .line 146
            sipush 255
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 11 /* methodNp */
        44: .line 147
            iconst_1
            istore 10 /* storeMethod */
        45: .line 149
      StackMap locals: int java.lang.Integer
      StackMap stack:
            aload 2 /* buffer */
            aload 11 /* methodNp */
            invokevirtual java.lang.Integer.intValue:()I
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        46: .line 150
            aload 2 /* buffer */
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.protocol:Lio/undertow/util/HttpString;
            invokestatic io.undertow.protocols.ajp.AjpUtils.putHttpString:(Ljava/nio/ByteBuffer;Lio/undertow/util/HttpString;)V
        47: .line 151
            aload 2 /* buffer */
            aload 7 /* path */
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        48: .line 152
            aload 2 /* buffer */
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.REMOTE_ADDRESS:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic io.undertow.protocols.ajp.AjpUtils.notNull:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        49: .line 153
            aload 2 /* buffer */
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.REMOTE_HOST:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic io.undertow.protocols.ajp.AjpUtils.notNull:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        50: .line 154
            aload 2 /* buffer */
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.SERVER_NAME:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic io.undertow.protocols.ajp.AjpUtils.notNull:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        51: .line 155
            aload 2 /* buffer */
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.SERVER_PORT:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokestatic io.undertow.protocols.ajp.AjpUtils.notNull:(Ljava/lang/Integer;)I
            invokestatic io.undertow.protocols.ajp.AjpUtils.putInt:(Ljava/nio/ByteBuffer;I)V
        52: .line 156
            aload 2 /* buffer */
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.IS_SSL:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokestatic io.undertow.protocols.ajp.AjpUtils.notNull:(Ljava/lang/Boolean;)Z
            ifeq 53
            iconst_1
            goto 54
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
        53: iconst_0
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int java.lang.String java.lang.String java.lang.String int int java.lang.Integer
      StackMap stack: java.nio.ByteBuffer int
        54: i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        55: .line 158
            iconst_0
            istore 12 /* headers */
        start local 12 // int headers
        56: .line 160
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.headers:Lio/undertow/util/HeaderMap;
            astore 13 /* responseHeaders */
        start local 13 // io.undertow.util.HeaderMap responseHeaders
        57: .line 161
            aload 13 /* responseHeaders */
            invokevirtual io.undertow.util.HeaderMap.getHeaderNames:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 15
            goto 60
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int java.lang.String java.lang.String java.lang.String int int java.lang.Integer int io.undertow.util.HeaderMap top java.util.Iterator
      StackMap stack:
        58: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.undertow.util.HttpString
            astore 14 /* name */
        start local 14 // io.undertow.util.HttpString name
        59: .line 162
            iload 12 /* headers */
            aload 13 /* responseHeaders */
            aload 14 /* name */
            invokevirtual io.undertow.util.HeaderMap.get:(Lio/undertow/util/HttpString;)Lio/undertow/util/HeaderValues;
            invokevirtual io.undertow.util.HeaderValues.size:()I
            iadd
            istore 12 /* headers */
        end local 14 // io.undertow.util.HttpString name
        60: .line 161
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 58
        61: .line 165
            aload 2 /* buffer */
            iload 12 /* headers */
            invokestatic io.undertow.protocols.ajp.AjpUtils.putInt:(Ljava/nio/ByteBuffer;I)V
        62: .line 168
            aload 13 /* responseHeaders */
            invokevirtual io.undertow.util.HeaderMap.getHeaderNames:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 15
            goto 73
      StackMap locals:
      StackMap stack:
        63: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.undertow.util.HttpString
            astore 14 /* header */
        start local 14 // io.undertow.util.HttpString header
        64: .line 169
            aload 13 /* responseHeaders */
            aload 14 /* header */
            invokevirtual io.undertow.util.HeaderMap.get:(Lio/undertow/util/HttpString;)Lio/undertow/util/HeaderValues;
            invokevirtual io.undertow.util.HeaderValues.iterator:()Ljava/util/Iterator;
            astore 17
            goto 72
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int java.lang.String java.lang.String java.lang.String int int java.lang.Integer int io.undertow.util.HeaderMap io.undertow.util.HttpString java.util.Iterator top java.util.Iterator
      StackMap stack:
        65: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 16 /* headerValue */
        start local 16 // java.lang.String headerValue
        66: .line 170
            getstatic io.undertow.protocols.ajp.AjpConstants.HEADER_MAP:Ljava/util/Map;
            aload 14 /* header */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 18 /* headerCode */
        start local 18 // java.lang.Integer headerCode
        67: .line 171
            aload 18 /* headerCode */
            ifnull 70
        68: .line 172
            aload 2 /* buffer */
            aload 18 /* headerCode */
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic io.undertow.protocols.ajp.AjpUtils.putInt:(Ljava/nio/ByteBuffer;I)V
        69: .line 173
            goto 71
        70: .line 174
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int java.lang.String java.lang.String java.lang.String int int java.lang.Integer int io.undertow.util.HeaderMap io.undertow.util.HttpString java.util.Iterator java.lang.String java.util.Iterator java.lang.Integer
      StackMap stack:
            aload 2 /* buffer */
            aload 14 /* header */
            invokestatic io.undertow.protocols.ajp.AjpUtils.putHttpString:(Ljava/nio/ByteBuffer;Lio/undertow/util/HttpString;)V
        71: .line 176
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            aload 16 /* headerValue */
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        end local 18 // java.lang.Integer headerCode
        end local 16 // java.lang.String headerValue
        72: .line 169
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int java.lang.String java.lang.String java.lang.String int int java.lang.Integer int io.undertow.util.HeaderMap io.undertow.util.HttpString java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 65
        end local 14 // io.undertow.util.HttpString header
        73: .line 168
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int java.lang.String java.lang.String java.lang.String int int java.lang.Integer int io.undertow.util.HeaderMap top java.util.Iterator
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 63
        74: .line 180
            aload 8 /* queryString */
            ifnull 77
        75: .line 181
            aload 2 /* buffer */
            iconst_5
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        76: .line 182
            aload 2 /* buffer */
            aload 8 /* queryString */
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        77: .line 184
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int java.lang.String java.lang.String java.lang.String int int java.lang.Integer int io.undertow.util.HeaderMap
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.REMOTE_USER:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 14 /* remoteUser */
        start local 14 // java.lang.String remoteUser
        78: .line 185
            aload 14 /* remoteUser */
            ifnull 81
        79: .line 186
            aload 2 /* buffer */
            iconst_3
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        80: .line 187
            aload 2 /* buffer */
            aload 14 /* remoteUser */
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        81: .line 189
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.AUTH_TYPE:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 15 /* authType */
        start local 15 // java.lang.String authType
        82: .line 190
            aload 15 /* authType */
            ifnull 85
        83: .line 191
            aload 2 /* buffer */
            iconst_4
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        84: .line 192
            aload 2 /* buffer */
            aload 15 /* authType */
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        85: .line 194
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.ROUTE:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 16 /* route */
        start local 16 // java.lang.String route
        86: .line 195
            aload 16 /* route */
            ifnull 89
        87: .line 196
            aload 2 /* buffer */
            bipush 6
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        88: .line 197
            aload 2 /* buffer */
            aload 16 /* route */
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        89: .line 199
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.SSL_CERT:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 17 /* sslCert */
        start local 17 // java.lang.String sslCert
        90: .line 200
            aload 17 /* sslCert */
            ifnull 93
        91: .line 201
            aload 2 /* buffer */
            bipush 7
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        92: .line 202
            aload 2 /* buffer */
            aload 17 /* sslCert */
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        93: .line 204
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.SSL_CYPHER:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 18 /* sslCypher */
        start local 18 // java.lang.String sslCypher
        94: .line 205
            aload 18 /* sslCypher */
            ifnull 97
        95: .line 206
            aload 2 /* buffer */
            bipush 8
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        96: .line 207
            aload 2 /* buffer */
            aload 18 /* sslCypher */
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        97: .line 209
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.SSL_SESSION_ID:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast byte[]
            astore 19 /* sslSession */
        start local 19 // byte[] sslSession
        98: .line 210
            aload 19 /* sslSession */
            ifnull 101
        99: .line 211
            aload 2 /* buffer */
            bipush 9
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       100: .line 212
            aload 2 /* buffer */
            aload 19 /* sslSession */
            iconst_0
            invokestatic io.undertow.util.FlexBase64.encodeString:([BZ)Ljava/lang/String;
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
       101: .line 214
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.SSL_KEY_SIZE:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 20 /* sslKeySize */
        start local 20 // java.lang.Integer sslKeySize
       102: .line 215
            aload 20 /* sslKeySize */
            ifnull 105
       103: .line 216
            aload 2 /* buffer */
            bipush 11
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       104: .line 217
            aload 2 /* buffer */
            aload 20 /* sslKeySize */
            invokevirtual java.lang.Integer.toString:()Ljava/lang/String;
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
       105: .line 219
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.attachable:Lio/undertow/util/Attachable;
            getstatic io.undertow.client.ProxiedRequestAttachments.SECRET:Lio/undertow/util/AttachmentKey;
            invokeinterface io.undertow.util.Attachable.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 21 /* secret */
        start local 21 // java.lang.String secret
       106: .line 220
            aload 21 /* secret */
            ifnull 109
       107: .line 221
            aload 2 /* buffer */
            bipush 12
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       108: .line 222
            aload 2 /* buffer */
            aload 21 /* secret */
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
       109: .line 225
      StackMap locals: java.lang.String
      StackMap stack:
            iload 10 /* storeMethod */
            ifeq 112
       110: .line 226
            aload 2 /* buffer */
            bipush 13
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       111: .line 227
            aload 2 /* buffer */
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.method:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HttpString.toString:()Ljava/lang/String;
            invokestatic io.undertow.protocols.ajp.AjpUtils.putString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
       112: .line 229
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            iconst_m1
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       113: .line 231
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            iconst_4
            isub
            istore 22 /* dataLength */
        start local 22 // int dataLength
       114: .line 232
            aload 2 /* buffer */
            iconst_2
            iload 22 /* dataLength */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
       115: .line 233
            aload 2 /* buffer */
            iconst_3
            iload 22 /* dataLength */
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
            pop
        end local 22 // int dataLength
        end local 21 // java.lang.String secret
        end local 20 // java.lang.Integer sslKeySize
        end local 19 // byte[] sslSession
        end local 18 // java.lang.String sslCypher
        end local 17 // java.lang.String sslCert
        end local 16 // java.lang.String route
        end local 15 // java.lang.String authType
        end local 14 // java.lang.String remoteUser
        end local 13 // io.undertow.util.HeaderMap responseHeaders
        end local 12 // int headers
        end local 11 // java.lang.Integer methodNp
        end local 10 // boolean storeMethod
        end local 9 // int qsIndex
        end local 8 // java.lang.String queryString
        end local 7 // java.lang.String path
        end local 6 // java.lang.String contentLength
       116: .line 235
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.dataSize:J
            lconst_0
            lcmp
            ifne 120
       117: .line 237
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
       118: .line 238
            new io.undertow.server.protocol.framed.SendFrameHeader
            dup
            aload 1 /* pooledHeaderBuffer */
            invokespecial io.undertow.server.protocol.framed.SendFrameHeader.<init>:(Lio/undertow/connector/PooledByteBuffer;)V
       119: areturn
       120: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.requestedChunkSize:I
            ifle 154
       121: .line 241
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.isWritesShutdown:()Z
            ifeq 131
            iload 4 /* dataInBuffer */
            ifne 131
       122: .line 242
            aload 2 /* buffer */
            bipush 18
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       123: .line 243
            aload 2 /* buffer */
            bipush 52
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       124: .line 244
            aload 2 /* buffer */
            iconst_0
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       125: .line 245
            aload 2 /* buffer */
            iconst_2
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       126: .line 246
            aload 2 /* buffer */
            iconst_0
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       127: .line 247
            aload 2 /* buffer */
            iconst_0
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       128: .line 248
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
       129: .line 249
            new io.undertow.server.protocol.framed.SendFrameHeader
            dup
            aload 1 /* pooledHeaderBuffer */
            invokespecial io.undertow.server.protocol.framed.SendFrameHeader.<init>:(Lio/undertow/connector/PooledByteBuffer;)V
       130: areturn
       131: .line 251
      StackMap locals:
      StackMap stack:
            iload 4 /* dataInBuffer */
            istore 6 /* remaining */
        start local 6 // int remaining
       132: .line 252
            iload 6 /* remaining */
            iload 5 /* maxData */
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* remaining */
       133: .line 253
            iload 6 /* remaining */
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.requestedChunkSize:I
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* remaining */
       134: .line 254
            iload 6 /* remaining */
            iconst_2
            iadd
            istore 7 /* bodySize */
        start local 7 // int bodySize
       135: .line 255
            aload 2 /* buffer */
            bipush 18
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       136: .line 256
            aload 2 /* buffer */
            bipush 52
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       137: .line 257
            aload 2 /* buffer */
            iload 7 /* bodySize */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       138: .line 258
            aload 2 /* buffer */
            iload 7 /* bodySize */
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       139: .line 259
            aload 2 /* buffer */
            iload 6 /* remaining */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       140: .line 260
            aload 2 /* buffer */
            iload 6 /* remaining */
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       141: .line 261
            aload 0 /* this */
            iconst_0
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.requestedChunkSize:I
       142: .line 262
            iload 6 /* remaining */
            iload 4 /* dataInBuffer */
            if_icmpge 149
       143: .line 263
            aload 3 /* dataBuffer */
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 6 /* remaining */
            iadd
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
       144: .line 264
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
       145: .line 265
            new io.undertow.server.protocol.framed.SendFrameHeader
            dup
            iload 4 /* dataInBuffer */
            iload 6 /* remaining */
            isub
            aload 1 /* pooledHeaderBuffer */
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.dataSize:J
            lconst_0
            lcmp
            ifge 146
            iconst_1
            goto 147
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int int int
      StackMap stack: new 145 new 145 int io.undertow.connector.PooledByteBuffer
       146: iconst_0
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int int int
      StackMap stack: new 145 new 145 int io.undertow.connector.PooledByteBuffer int
       147: invokespecial io.undertow.server.protocol.framed.SendFrameHeader.<init>:(ILio/undertow/connector/PooledByteBuffer;Z)V
       148: areturn
       149: .line 267
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
       150: .line 268
            new io.undertow.server.protocol.framed.SendFrameHeader
            dup
            iconst_0
            aload 1 /* pooledHeaderBuffer */
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.dataSize:J
            lconst_0
            lcmp
            ifge 151
            iconst_1
            goto 152
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int int int
      StackMap stack: new 150 new 150 int io.undertow.connector.PooledByteBuffer
       151: iconst_0
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int int int
      StackMap stack: new 150 new 150 int io.undertow.connector.PooledByteBuffer int
       152: invokespecial io.undertow.server.protocol.framed.SendFrameHeader.<init>:(ILio/undertow/connector/PooledByteBuffer;Z)V
       153: areturn
        end local 7 // int bodySize
        end local 6 // int remaining
       154: .line 273
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
       155: .line 274
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifne 159
       156: .line 275
            aload 1 /* pooledHeaderBuffer */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       157: .line 276
            new io.undertow.server.protocol.framed.SendFrameHeader
            dup
            iload 4 /* dataInBuffer */
            aconst_null
            iconst_1
            invokespecial io.undertow.server.protocol.framed.SendFrameHeader.<init>:(ILio/undertow/connector/PooledByteBuffer;Z)V
       158: areturn
       159: .line 278
      StackMap locals:
      StackMap stack:
            aload 3 /* dataBuffer */
            aload 3 /* dataBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
       160: .line 279
            new io.undertow.server.protocol.framed.SendFrameHeader
            dup
            iload 4 /* dataInBuffer */
            aload 1 /* pooledHeaderBuffer */
            iconst_1
            invokespecial io.undertow.server.protocol.framed.SendFrameHeader.<init>:(ILio/undertow/connector/PooledByteBuffer;Z)V
       161: areturn
        end local 5 // int maxData
        end local 4 // int dataInBuffer
        end local 3 // java.nio.ByteBuffer dataBuffer
        end local 2 // java.nio.ByteBuffer buffer
       162: .line 281
      StackMap locals: io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel io.undertow.connector.PooledByteBuffer
      StackMap stack: java.nio.BufferOverflowException
            astore 2 /* e */
        start local 2 // java.nio.BufferOverflowException e
       163: .line 283
            aload 1 /* pooledHeaderBuffer */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       164: .line 284
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.markBroken:()V
       165: .line 285
            aload 2 /* e */
            athrow
        end local 2 // java.nio.BufferOverflowException e
        end local 1 // io.undertow.connector.PooledByteBuffer pooledHeaderBuffer
        end local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  166     0                this  Lio/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel;
            5  166     1  pooledHeaderBuffer  Lio/undertow/connector/PooledByteBuffer;
            6  162     2              buffer  Ljava/nio/ByteBuffer;
            7  162     3          dataBuffer  Ljava/nio/ByteBuffer;
            8  162     4        dataInBuffer  I
           12  162     5             maxData  I
           14  116     6       contentLength  Ljava/lang/String;
           31   33     7                path  Ljava/lang/String;
           34  116     7                path  Ljava/lang/String;
           32   33     8         queryString  Ljava/lang/String;
           35  116     8         queryString  Ljava/lang/String;
           29  116     9             qsIndex  I
           41  116    10         storeMethod  Z
           42  116    11            methodNp  Ljava/lang/Integer;
           56  116    12             headers  I
           57  116    13     responseHeaders  Lio/undertow/util/HeaderMap;
           59   60    14                name  Lio/undertow/util/HttpString;
           64   73    14              header  Lio/undertow/util/HttpString;
           66   72    16         headerValue  Ljava/lang/String;
           67   72    18          headerCode  Ljava/lang/Integer;
           78  116    14          remoteUser  Ljava/lang/String;
           82  116    15            authType  Ljava/lang/String;
           86  116    16               route  Ljava/lang/String;
           90  116    17             sslCert  Ljava/lang/String;
           94  116    18           sslCypher  Ljava/lang/String;
           98  116    19          sslSession  [B
          102  116    20          sslKeySize  Ljava/lang/Integer;
          106  116    21              secret  Ljava/lang/String;
          114  116    22          dataLength  I
          132  154     6           remaining  I
          135  154     7            bodySize  I
          163  166     2                   e  Ljava/nio/BufferOverflowException;
      Exception table:
        from    to  target  type
           5    10     162  Class java.nio.BufferOverflowException
          11   119     162  Class java.nio.BufferOverflowException
         120   130     162  Class java.nio.BufferOverflowException
         131   148     162  Class java.nio.BufferOverflowException
         149   153     162  Class java.nio.BufferOverflowException
         154   158     162  Class java.nio.BufferOverflowException
         159   161     162  Class java.nio.BufferOverflowException

  io.undertow.server.protocol.framed.SendFrameHeader generateSendFrameHeader();
    descriptor: ()Lio/undertow/server/protocol/framed/SendFrameHeader;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
         0: .line 290
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.createFrameHeaderImpl:()Lio/undertow/server/protocol/framed/SendFrameHeader;
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
         1: .line 291
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
            areturn
        end local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel;

  void chunkRequested(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
        start local 1 // int size
         0: .line 295
            aload 0 /* this */
            iload 1 /* size */
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.requestedChunkSize:I
         1: .line 296
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.getChannel:()Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            checkcast io.undertow.protocols.ajp.AjpClientChannel
            invokevirtual io.undertow.protocols.ajp.AjpClientChannel.recalculateHeldFrames:()V
         2: .line 297
            return
        end local 1 // int size
        end local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel;
            0    3     1  size  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      size  

  public void startDiscard();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
         0: .line 300
            aload 0 /* this */
            iconst_1
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.discardMode:Z
         1: .line 302
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.getChannel:()Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            checkcast io.undertow.protocols.ajp.AjpClientChannel
            invokevirtual io.undertow.protocols.ajp.AjpClientChannel.recalculateHeldFrames:()V
         2: .line 303
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         3: pop
         4: .line 304
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.markBroken:()V
         5: .line 306
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException

  protected final io.undertow.server.protocol.framed.SendFrameHeader createFrameHeader();
    descriptor: ()Lio/undertow/server/protocol/framed/SendFrameHeader;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
         0: .line 310
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
            astore 1 /* header */
        start local 1 // io.undertow.server.protocol.framed.SendFrameHeader header
         1: .line 311
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
         2: .line 312
            aload 1 /* header */
            areturn
        end local 1 // io.undertow.server.protocol.framed.SendFrameHeader header
        end local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lio/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel;
            1    3     1  header  Lio/undertow/server/protocol/framed/SendFrameHeader;

  protected void handleFlushComplete(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
        start local 1 // boolean finalFrame
         0: .line 317
            aload 0 /* this */
            iload 1 /* finalFrame */
            invokespecial io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel.handleFlushComplete:(Z)V
         1: .line 319
            iload 1 /* finalFrame */
            ifeq 3
         2: .line 320
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.getChannel:()Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            checkcast io.undertow.protocols.ajp.AjpClientChannel
            invokevirtual io.undertow.protocols.ajp.AjpClientChannel.sinkDone:()V
         3: .line 322
      StackMap locals:
      StackMap stack:
            iload 1 /* finalFrame */
            ifeq 5
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.finishListener:Lorg/xnio/ChannelListener;
            ifnull 5
         4: .line 323
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.finishListener:Lorg/xnio/ChannelListener;
            aload 0 /* this */
            invokeinterface org.xnio.ChannelListener.handleEvent:(Ljava/nio/channels/Channel;)V
         5: .line 325
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean finalFrame
        end local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel;
            0    6     1  finalFrame  Z
    MethodParameters:
            Name  Flags
      finalFrame  

  protected void channelForciblyClosed();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
         0: .line 329
            aload 0 /* this */
            invokespecial io.undertow.protocols.ajp.AbstractAjpClientStreamSinkChannel.channelForciblyClosed:()V
         1: .line 330
            aload 0 /* this */
            invokevirtual io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.getChannel:()Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            checkcast io.undertow.protocols.ajp.AjpClientChannel
            invokevirtual io.undertow.protocols.ajp.AjpClientChannel.sinkDone:()V
         2: .line 331
            aload 0 /* this */
            getfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.finishListener:Lorg/xnio/ChannelListener;
            aload 0 /* this */
            invokeinterface org.xnio.ChannelListener.handleEvent:(Ljava/nio/channels/Channel;)V
         3: .line 332
            return
        end local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel;
    Exceptions:
      throws java.io.IOException

  public void clearHeader();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
         0: .line 335
            aload 0 /* this */
            aconst_null
            putfield io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
         1: .line 336
            return
        end local 0 // io.undertow.protocols.ajp.AjpClientRequestClientStreamSinkChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/protocols/ajp/AjpClientRequestClientStreamSinkChannel;
}
SourceFile: "AjpClientRequestClientStreamSinkChannel.java"