class jdk.incubator.http.Http1Response<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.incubator.http.Http1Response
  super_class: java.lang.Object
{
  private volatile jdk.incubator.http.ResponseContent content;
    descriptor: Ljdk/incubator/http/ResponseContent;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final jdk.incubator.http.HttpRequestImpl request;
    descriptor: Ljdk/incubator/http/HttpRequestImpl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private jdk.incubator.http.Response response;
    descriptor: Ljdk/incubator/http/Response;
    flags: (0x0002) ACC_PRIVATE

  private final jdk.incubator.http.HttpConnection connection;
    descriptor: Ljdk/incubator/http/HttpConnection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private jdk.incubator.http.ResponseHeaders headers;
    descriptor: Ljdk/incubator/http/ResponseHeaders;
    flags: (0x0002) ACC_PRIVATE

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

  private java.nio.ByteBuffer buffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private final jdk.incubator.http.Http1Exchange<T> exchange;
    descriptor: Ljdk/incubator/http/Http1Exchange;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljdk/incubator/http/Http1Exchange<TT;>;

  private final boolean redirecting;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  static final char CR;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  static final char LF;
    descriptor: C
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  void <init>(jdk.incubator.http.HttpConnection, jdk.incubator.http.Http1Exchange<T>);
    descriptor: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http1Exchange;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.incubator.http.Http1Response this
        start local 1 // jdk.incubator.http.HttpConnection conn
        start local 2 // jdk.incubator.http.Http1Exchange exchange
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            aload 0 /* this */
            aload 2 /* exchange */
            invokevirtual jdk.incubator.http.Http1Exchange.request:()Ljdk/incubator/http/HttpRequestImpl;
            putfield jdk.incubator.http.Http1Response.request:Ljdk/incubator/http/HttpRequestImpl;
         2: .line 54
            aload 0 /* this */
            aload 2 /* exchange */
            putfield jdk.incubator.http.Http1Response.exchange:Ljdk/incubator/http/Http1Exchange;
         3: .line 55
            aload 0 /* this */
            aload 1 /* conn */
            putfield jdk.incubator.http.Http1Response.connection:Ljdk/incubator/http/HttpConnection;
         4: .line 56
            aload 0 /* this */
            iconst_0
            putfield jdk.incubator.http.Http1Response.redirecting:Z
         5: .line 57
            aload 0 /* this */
            aload 2 /* exchange */
            invokevirtual jdk.incubator.http.Http1Exchange.getBuffer:()Ljava/nio/ByteBuffer;
            putfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
         6: .line 58
            return
        end local 2 // jdk.incubator.http.Http1Exchange exchange
        end local 1 // jdk.incubator.http.HttpConnection conn
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljdk/incubator/http/Http1Response<TT;>;
            0    7     1      conn  Ljdk/incubator/http/HttpConnection;
            0    7     2  exchange  Ljdk/incubator/http/Http1Exchange<TT;>;
    Signature: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http1Exchange<TT;>;)V
    MethodParameters:
          Name  Flags
      conn      
      exchange  

  public void readHeaders();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=1
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 62
            aload 0 /* this */
            invokevirtual jdk.incubator.http.Http1Response.readStatusLine:()Ljava/lang/String;
            astore 1 /* statusline */
        start local 1 // java.lang.String statusline
         1: .line 63
            aload 1 /* statusline */
            ifnonnull 6
         2: .line 64
            invokestatic jdk.incubator.http.internal.common.Log.errors:()Z
            ifeq 4
         3: .line 65
            ldc "Connection closed. Retry"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 67
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.connection:Ljdk/incubator/http/HttpConnection;
            invokevirtual jdk.incubator.http.HttpConnection.close:()V
         5: .line 69
            new java.io.IOException
            dup
            ldc "Connection closed"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 71
      StackMap locals:
      StackMap stack:
            aload 1 /* statusline */
            ldc "HTTP/1."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         7: .line 72
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid status line: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* statusline */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 74
      StackMap locals:
      StackMap stack:
            invokestatic jdk.incubator.http.internal.common.Log.trace:()Z
            ifeq 10
         9: .line 75
            ldc "Statusline: {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* statusline */
            aastore
            invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 77
      StackMap locals:
      StackMap stack:
            aload 1 /* statusline */
            bipush 7
            invokevirtual java.lang.String.charAt:(I)C
            pop
        11: .line 78
            aload 0 /* this */
            aload 1 /* statusline */
            bipush 9
            bipush 12
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield jdk.incubator.http.Http1Response.responseCode:I
        12: .line 80
            aload 0 /* this */
            new jdk.incubator.http.ResponseHeaders
            dup
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.connection:Ljdk/incubator/http/HttpConnection;
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
            invokespecial jdk.incubator.http.ResponseHeaders.<init>:(Ljdk/incubator/http/HttpConnection;Ljava/nio/ByteBuffer;)V
            putfield jdk.incubator.http.Http1Response.headers:Ljdk/incubator/http/ResponseHeaders;
        13: .line 81
            invokestatic jdk.incubator.http.internal.common.Log.headers:()Z
            ifeq 15
        14: .line 82
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.headers:Ljdk/incubator/http/ResponseHeaders;
            invokevirtual jdk.incubator.http.Http1Response.logHeaders:(Ljdk/incubator/http/ResponseHeaders;)V
        15: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.incubator.http.Response
            dup
        16: .line 85
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.request:Ljdk/incubator/http/HttpRequestImpl;
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.exchange:Ljdk/incubator/http/Http1Exchange;
            invokevirtual jdk.incubator.http.Http1Exchange.getExchange:()Ljdk/incubator/http/Exchange;
        17: .line 86
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.headers:Ljdk/incubator/http/ResponseHeaders;
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.responseCode:I
            getstatic jdk.incubator.http.HttpClient$Version.HTTP_1_1:Ljdk/incubator/http/HttpClient$Version;
            invokespecial jdk.incubator.http.Response.<init>:(Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Exchange;Ljdk/incubator/http/HttpHeaders;ILjdk/incubator/http/HttpClient$Version;)V
        18: .line 84
            putfield jdk.incubator.http.Http1Response.response:Ljdk/incubator/http/Response;
        19: .line 87
            return
        end local 1 // java.lang.String statusline
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Ljdk/incubator/http/Http1Response<TT;>;
            1   20     1  statusline  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  synchronized void completed();
    descriptor: ()V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 92
            aload 0 /* this */
            iconst_1
            putfield jdk.incubator.http.Http1Response.finished:Z
         1: .line 93
            return
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/incubator/http/Http1Response<TT;>;

  synchronized boolean finished();
    descriptor: ()Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 96
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.finished:Z
            ireturn
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/Http1Response<TT;>;

  java.nio.ByteBuffer getBuffer();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 100
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
            areturn
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/Http1Response<TT;>;

  int fixupContentLen(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.incubator.http.Http1Response this
        start local 1 // int clen
         0: .line 104
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.request:Ljdk/incubator/http/HttpRequestImpl;
            invokevirtual jdk.incubator.http.HttpRequestImpl.method:()Ljava/lang/String;
            ldc "HEAD"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 105
            iconst_0
            ireturn
         2: .line 107
      StackMap locals:
      StackMap stack:
            iload 1 /* clen */
            iconst_m1
            if_icmpne 7
         3: .line 108
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.headers:Ljdk/incubator/http/ResponseHeaders;
            ldc "Transfer-encoding"
            invokevirtual jdk.incubator.http.ResponseHeaders.firstValue:(Ljava/lang/String;)Ljava/util/Optional;
            ldc ""
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
         4: .line 109
            ldc "chunked"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 110
            iconst_m1
            ireturn
         6: .line 112
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 114
      StackMap locals:
      StackMap stack:
            iload 1 /* clen */
            ireturn
        end local 1 // int clen
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/incubator/http/Http1Response<TT;>;
            0    8     1  clen  I
    MethodParameters:
      Name  Flags
      clen  

  public java.util.concurrent.CompletableFuture<T> readBody(jdk.incubator.http.HttpResponse$BodyProcessor<T>, boolean, java.util.concurrent.Executor);
    descriptor: (Ljdk/incubator/http/HttpResponse$BodyProcessor;ZLjava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // jdk.incubator.http.Http1Response this
        start local 1 // jdk.incubator.http.HttpResponse$BodyProcessor p
        start local 2 // boolean return2Cache
        start local 3 // java.util.concurrent.Executor executor
         0: .line 121
            new jdk.incubator.http.BlockingPushPublisher
            dup
            invokespecial jdk.incubator.http.BlockingPushPublisher.<init>:()V
            astore 4 /* publisher */
        start local 4 // jdk.incubator.http.BlockingPushPublisher publisher
         1: .line 122
            aload 0 /* this */
            aload 1 /* p */
            iload 2 /* return2Cache */
            aload 4 /* publisher */
            aload 3 /* executor */
            invokevirtual jdk.incubator.http.Http1Response.readBody:(Ljdk/incubator/http/HttpResponse$BodyProcessor;ZLjdk/incubator/http/AbstractPushPublisher;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 4 // jdk.incubator.http.BlockingPushPublisher publisher
        end local 3 // java.util.concurrent.Executor executor
        end local 2 // boolean return2Cache
        end local 1 // jdk.incubator.http.HttpResponse$BodyProcessor p
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/incubator/http/Http1Response<TT;>;
            0    2     1             p  Ljdk/incubator/http/HttpResponse$BodyProcessor<TT;>;
            0    2     2  return2Cache  Z
            0    2     3      executor  Ljava/util/concurrent/Executor;
            1    2     4     publisher  Ljdk/incubator/http/BlockingPushPublisher<Ljava/nio/ByteBuffer;>;
    Signature: (Ljdk/incubator/http/HttpResponse$BodyProcessor<TT;>;ZLjava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
              Name  Flags
      p             
      return2Cache  
      executor      

  private java.util.concurrent.CompletableFuture<T> readBody(jdk.incubator.http.HttpResponse$BodyProcessor<T>, boolean, jdk.incubator.http.AbstractPushPublisher<java.nio.ByteBuffer>, java.util.concurrent.Executor);
    descriptor: (Ljdk/incubator/http/HttpResponse$BodyProcessor;ZLjdk/incubator/http/AbstractPushPublisher;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // jdk.incubator.http.Http1Response this
        start local 1 // jdk.incubator.http.HttpResponse$BodyProcessor p
        start local 2 // boolean return2Cache
        start local 3 // jdk.incubator.http.AbstractPushPublisher publisher
        start local 4 // java.util.concurrent.Executor executor
         0: .line 130
            aload 0 /* this */
            iload 2 /* return2Cache */
            putfield jdk.incubator.http.Http1Response.return2Cache:Z
         1: .line 131
            aload 1 /* p */
            astore 5 /* pusher */
        start local 5 // jdk.incubator.http.HttpResponse$BodyProcessor pusher
         2: .line 132
            aload 1 /* p */
            invokeinterface jdk.incubator.http.HttpResponse$BodyProcessor.getBody:()Ljava/util/concurrent/CompletionStage;
            invokeinterface java.util.concurrent.CompletionStage.toCompletableFuture:()Ljava/util/concurrent/CompletableFuture;
            astore 6 /* cf */
        start local 6 // java.util.concurrent.CompletableFuture cf
         3: .line 136
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.headers:Ljdk/incubator/http/ResponseHeaders;
            invokevirtual jdk.incubator.http.ResponseHeaders.getContentLength:()I
            istore 7 /* clen0 */
        start local 7 // int clen0
         4: .line 137
            goto 8
        end local 7 // int clen0
      StackMap locals: jdk.incubator.http.Http1Response jdk.incubator.http.HttpResponse$BodyProcessor int jdk.incubator.http.AbstractPushPublisher java.util.concurrent.Executor jdk.incubator.http.HttpResponse$BodyProcessor java.util.concurrent.CompletableFuture
      StackMap stack: java.io.IOException
         5: astore 8 /* ex */
        start local 8 // java.io.IOException ex
         6: .line 138
            aload 6 /* cf */
            aload 8 /* ex */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
         7: .line 139
            aload 6 /* cf */
            areturn
        end local 8 // java.io.IOException ex
        start local 7 // int clen0
         8: .line 141
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* clen0 */
            invokevirtual jdk.incubator.http.Http1Response.fixupContentLen:(I)I
            istore 8 /* clen */
        start local 8 // int clen
         9: .line 143
            aload 4 /* executor */
            aload 0 /* this */
            iload 8 /* clen */
            aload 5 /* pusher */
            aload 3 /* publisher */
            aload 6 /* cf */
            aload 1 /* p */
            invokedynamic run(Ljdk/incubator/http/Http1Response;ILjdk/incubator/http/HttpResponse$BodyProcessor;Ljdk/incubator/http/AbstractPushPublisher;Ljava/util/concurrent/CompletableFuture;Ljdk/incubator/http/HttpResponse$BodyProcessor;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  jdk/incubator/http/Http1Response.lambda$0(ILjdk/incubator/http/HttpResponse$BodyProcessor;Ljdk/incubator/http/AbstractPushPublisher;Ljava/util/concurrent/CompletableFuture;Ljdk/incubator/http/HttpResponse$BodyProcessor;)V (7)
                  ()V
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        10: .line 166
            aload 6 /* cf */
            areturn
        end local 8 // int clen
        end local 7 // int clen0
        end local 6 // java.util.concurrent.CompletableFuture cf
        end local 5 // jdk.incubator.http.HttpResponse$BodyProcessor pusher
        end local 4 // java.util.concurrent.Executor executor
        end local 3 // jdk.incubator.http.AbstractPushPublisher publisher
        end local 2 // boolean return2Cache
        end local 1 // jdk.incubator.http.HttpResponse$BodyProcessor p
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Ljdk/incubator/http/Http1Response<TT;>;
            0   11     1             p  Ljdk/incubator/http/HttpResponse$BodyProcessor<TT;>;
            0   11     2  return2Cache  Z
            0   11     3     publisher  Ljdk/incubator/http/AbstractPushPublisher<Ljava/nio/ByteBuffer;>;
            0   11     4      executor  Ljava/util/concurrent/Executor;
            2   11     5        pusher  Ljdk/incubator/http/HttpResponse$BodyProcessor<TT;>;
            3   11     6            cf  Ljava/util/concurrent/CompletableFuture<TT;>;
            4    5     7         clen0  I
            8   11     7         clen0  I
            6    8     8            ex  Ljava/io/IOException;
            9   11     8          clen  I
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    Signature: (Ljdk/incubator/http/HttpResponse$BodyProcessor<TT;>;ZLjdk/incubator/http/AbstractPushPublisher<Ljava/nio/ByteBuffer;>;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TT;>;
    MethodParameters:
              Name  Flags
      p             
      return2Cache  
      publisher     
      executor      

  private void onFinished();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 170
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.return2Cache:Z
            ifeq 3
         1: .line 171
            ldc "Returning connection to the pool: {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.connection:Ljdk/incubator/http/HttpConnection;
            aastore
            invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 172
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.connection:Ljdk/incubator/http/HttpConnection;
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.headers:Ljdk/incubator/http/ResponseHeaders;
            invokevirtual jdk.incubator.http.HttpConnection.returnToCache:(Ljdk/incubator/http/HttpHeaders;)V
         3: .line 174
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/incubator/http/Http1Response<TT;>;

  private void logHeaders(jdk.incubator.http.ResponseHeaders);
    descriptor: (Ljdk/incubator/http/ResponseHeaders;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.incubator.http.Http1Response this
        start local 1 // jdk.incubator.http.ResponseHeaders headers
         0: .line 177
            new java.lang.StringBuilder
            dup
            ldc "RESPONSE HEADERS:\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 178
            aload 2 /* sb */
            ldc "    "
            aload 1 /* headers */
            invokestatic jdk.incubator.http.internal.common.Log.dumpHeaders:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljdk/incubator/http/HttpHeaders;)V
         2: .line 179
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.incubator.http.internal.common.Log.logHeaders:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 180
            return
        end local 2 // java.lang.StringBuilder sb
        end local 1 // jdk.incubator.http.ResponseHeaders headers
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/incubator/http/Http1Response<TT;>;
            0    4     1  headers  Ljdk/incubator/http/ResponseHeaders;
            1    4     2       sb  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      headers  

  jdk.incubator.http.Response response();
    descriptor: ()Ljdk/incubator/http/Response;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 183
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.response:Ljdk/incubator/http/Response;
            areturn
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/Http1Response<TT;>;

  boolean redirecting();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 187
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.redirecting:Z
            ireturn
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/Http1Response<TT;>;

  jdk.incubator.http.HttpHeaders responseHeaders();
    descriptor: ()Ljdk/incubator/http/HttpHeaders;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 191
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.headers:Ljdk/incubator/http/ResponseHeaders;
            areturn
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/Http1Response<TT;>;

  int responseCode();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 195
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.responseCode:I
            ireturn
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/Http1Response<TT;>;

  private int obtainBuffer();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 202
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 1 /* n */
        start local 1 // int n
         1: .line 204
            iload 1 /* n */
            ifne 6
         2: .line 205
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.connection:Ljdk/incubator/http/HttpConnection;
            invokevirtual jdk.incubator.http.HttpConnection.read:()Ljava/nio/ByteBuffer;
            putfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
         3: .line 206
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
            ifnonnull 5
         4: .line 207
            iconst_m1
            ireturn
         5: .line 209
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 1 /* n */
         6: .line 211
      StackMap locals:
      StackMap stack:
            iload 1 /* n */
            ireturn
        end local 1 // int n
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/incubator/http/Http1Response<TT;>;
            1    7     1     n  I
    Exceptions:
      throws java.io.IOException

  java.lang.String readStatusLine();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 215
            iconst_0
            istore 1 /* cr */
        start local 1 // boolean cr
         1: .line 216
            new java.lang.StringBuilder
            dup
            sipush 128
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* statusLine */
        start local 2 // java.lang.StringBuilder statusLine
         2: .line 217
            goto 21
         3: .line 218
      StackMap locals: int java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 3 /* buf */
        start local 3 // byte[] buf
         4: .line 219
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 4 /* offset */
        start local 4 // int offset
         5: .line 220
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.limit:()I
            iload 4 /* offset */
            isub
            istore 5 /* len */
        start local 5 // int len
         6: .line 222
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 19
         8: .line 223
      StackMap locals: jdk.incubator.http.Http1Response int java.lang.StringBuilder byte[] int int int
      StackMap stack:
            aload 3 /* buf */
            iload 6 /* i */
            iload 4 /* offset */
            iadd
            baload
            i2c
            istore 7 /* c */
        start local 7 // char c
         9: .line 225
            iload 1 /* cr */
            ifeq 14
        10: .line 226
            iload 7 /* c */
            bipush 10
            if_icmpne 13
        11: .line 227
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
            iload 6 /* i */
            iconst_1
            iadd
            iload 4 /* offset */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        12: .line 228
            aload 2 /* statusLine */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        13: .line 230
      StackMap locals: int
      StackMap stack:
            new java.io.IOException
            dup
            ldc "invalid status line"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 233
      StackMap locals:
      StackMap stack:
            iload 7 /* c */
            bipush 13
            if_icmpne 17
        15: .line 234
            iconst_1
            istore 1 /* cr */
        16: .line 235
            goto 18
        17: .line 236
      StackMap locals:
      StackMap stack:
            aload 2 /* statusLine */
            iload 7 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 7 // char c
        18: .line 222
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* i */
            iload 5 /* len */
            if_icmplt 8
        end local 6 // int i
        20: .line 240
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.limit:()I
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        end local 5 // int len
        end local 4 // int offset
        end local 3 // byte[] buf
        21: .line 217
      StackMap locals: jdk.incubator.http.Http1Response int java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.incubator.http.Http1Response.obtainBuffer:()I
            iconst_m1
            if_icmpne 3
        22: .line 242
            aconst_null
            areturn
        end local 2 // java.lang.StringBuilder statusLine
        end local 1 // boolean cr
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Ljdk/incubator/http/Http1Response<TT;>;
            1   23     1          cr  Z
            2   23     2  statusLine  Ljava/lang/StringBuilder;
            4   21     3         buf  [B
            5   21     4      offset  I
            6   21     5         len  I
            7   20     6           i  I
            9   18     7           c  C
    Exceptions:
      throws java.io.IOException

  private void lambda$0(int, jdk.incubator.http.HttpResponse$BodyProcessor, jdk.incubator.http.AbstractPushPublisher, java.util.concurrent.CompletableFuture, jdk.incubator.http.HttpResponse$BodyProcessor);
    descriptor: (ILjdk/incubator/http/HttpResponse$BodyProcessor;Ljdk/incubator/http/AbstractPushPublisher;Ljava/util/concurrent/CompletableFuture;Ljdk/incubator/http/HttpResponse$BodyProcessor;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=11, locals=7, args_size=6
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 145
            aload 0 /* this */
            new jdk.incubator.http.ResponseContent
            dup
         1: .line 146
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.connection:Ljdk/incubator/http/HttpConnection;
            iload 1
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.headers:Ljdk/incubator/http/ResponseHeaders;
            aload 2
         2: .line 147
            aload 3
            invokevirtual jdk.incubator.http.AbstractPushPublisher.asDataConsumer:()Ljava/util/function/Consumer;
         3: .line 148
            aload 0 /* this */
            aload 3
            aload 4
            invokedynamic accept(Ljdk/incubator/http/Http1Response;Ljdk/incubator/http/AbstractPushPublisher;Ljava/util/concurrent/CompletableFuture;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/incubator/http/Http1Response.lambda$1(Ljdk/incubator/http/AbstractPushPublisher;Ljava/util/concurrent/CompletableFuture;Ljava/io/IOException;)V (7)
                  (Ljava/io/IOException;)V
         4: .line 153
            aload 0 /* this */
            invokedynamic run(Ljdk/incubator/http/Http1Response;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  jdk/incubator/http/Http1Response.lambda$2()V (7)
                  ()V
            invokespecial jdk.incubator.http.ResponseContent.<init>:(Ljdk/incubator/http/HttpConnection;ILjdk/incubator/http/ResponseHeaders;Ljdk/incubator/http/HttpResponse$BodyProcessor;Ljava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/lang/Runnable;)V
         5: .line 145
            putfield jdk.incubator.http.Http1Response.content:Ljdk/incubator/http/ResponseContent;
         6: .line 155
            aload 3
            aload 5
            invokevirtual jdk.incubator.http.AbstractPushPublisher.subscribe:(Ljava/util/concurrent/Flow$Subscriber;)V
         7: .line 156
            aload 4
            invokevirtual java.util.concurrent.CompletableFuture.isCompletedExceptionally:()Z
            ifeq 10
         8: .line 158
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.connection:Ljdk/incubator/http/HttpConnection;
            invokevirtual jdk.incubator.http.HttpConnection.close:()V
         9: .line 159
            return
        10: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.content:Ljdk/incubator/http/ResponseContent;
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.buffer:Ljava/nio/ByteBuffer;
            invokevirtual jdk.incubator.http.ResponseContent.pushBody:(Ljava/nio/ByteBuffer;)V
        11: .line 162
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 6 /* t */
        start local 6 // java.lang.Throwable t
        13: .line 163
            aload 4
            aload 6 /* t */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
        end local 6 // java.lang.Throwable t
        14: .line 165
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Ljdk/incubator/http/Http1Response<TT;>;
           13   14     6     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     9      12  Class java.lang.Throwable
          10    11      12  Class java.lang.Throwable

  private void lambda$1(jdk.incubator.http.AbstractPushPublisher, java.util.concurrent.CompletableFuture, java.io.IOException);
    descriptor: (Ljdk/incubator/http/AbstractPushPublisher;Ljava/util/concurrent/CompletableFuture;Ljava/io/IOException;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // jdk.incubator.http.Http1Response this
        start local 3 // java.io.IOException t
         0: .line 149
            aload 1
            aload 3 /* t */
            invokevirtual jdk.incubator.http.AbstractPushPublisher.acceptError:(Ljava/lang/Throwable;)V
         1: .line 150
            aload 0 /* this */
            getfield jdk.incubator.http.Http1Response.connection:Ljdk/incubator/http/HttpConnection;
            invokevirtual jdk.incubator.http.HttpConnection.close:()V
         2: .line 151
            aload 2
            aload 3 /* t */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
         3: .line 152
            return
        end local 3 // java.io.IOException t
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/incubator/http/Http1Response<TT;>;
            0    4     3     t  Ljava/io/IOException;

  private void lambda$2();
    descriptor: ()V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.Http1Response this
         0: .line 153
            aload 0 /* this */
            invokevirtual jdk.incubator.http.Http1Response.onFinished:()V
            return
        end local 0 // jdk.incubator.http.Http1Response this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/Http1Response<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "Http1Response.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Subscriber = java.util.concurrent.Flow$Subscriber of java.util.concurrent.Flow
  public final Version = jdk.incubator.http.HttpClient$Version of jdk.incubator.http.HttpClient
  public abstract BodyProcessor = jdk.incubator.http.HttpResponse$BodyProcessor of jdk.incubator.http.HttpResponse