class jdk.internal.net.http.ResponseContent
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.internal.net.http.ResponseContent
  super_class: java.lang.Object
{
  final java.net.http.HttpResponse$BodySubscriber<?> pusher;
    descriptor: Ljava/net/http/HttpResponse$BodySubscriber;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/net/http/HttpResponse$BodySubscriber<*>;

  final long contentLength;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  final java.net.http.HttpHeaders headers;
    descriptor: Ljava/net/http/HttpHeaders;
    flags: (0x0010) ACC_FINAL

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

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

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

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

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

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

  void <init>(jdk.internal.net.http.HttpConnection, long, java.net.http.HttpHeaders, java.net.http.HttpResponse$BodySubscriber<?>, java.lang.Runnable);
    descriptor: (Ljdk/internal/net/http/HttpConnection;JLjava/net/http/HttpHeaders;Ljava/net/http/HttpResponse$BodySubscriber;Ljava/lang/Runnable;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // jdk.internal.net.http.ResponseContent this
        start local 1 // jdk.internal.net.http.HttpConnection connection
        start local 2 // long contentLength
        start local 4 // java.net.http.HttpHeaders h
        start local 5 // java.net.http.HttpResponse$BodySubscriber userSubscriber
        start local 6 // java.lang.Runnable onFinished
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            aload 5 /* userSubscriber */
            putfield jdk.internal.net.http.ResponseContent.pusher:Ljava/net/http/HttpResponse$BodySubscriber;
         2: .line 63
            aload 0 /* this */
            lload 2 /* contentLength */
            putfield jdk.internal.net.http.ResponseContent.contentLength:J
         3: .line 64
            aload 0 /* this */
            aload 4 /* h */
            putfield jdk.internal.net.http.ResponseContent.headers:Ljava/net/http/HttpHeaders;
         4: .line 65
            aload 0 /* this */
            aload 6 /* onFinished */
            putfield jdk.internal.net.http.ResponseContent.onFinished:Ljava/lang/Runnable;
         5: .line 66
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* connection */
            invokevirtual jdk.internal.net.http.HttpConnection.dbgString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/ResponseContent"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield jdk.internal.net.http.ResponseContent.dbgTag:Ljava/lang/String;
         6: .line 67
            return
        end local 6 // java.lang.Runnable onFinished
        end local 5 // java.net.http.HttpResponse$BodySubscriber userSubscriber
        end local 4 // java.net.http.HttpHeaders h
        end local 2 // long contentLength
        end local 1 // jdk.internal.net.http.HttpConnection connection
        end local 0 // jdk.internal.net.http.ResponseContent this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Ljdk/internal/net/http/ResponseContent;
            0    7     1      connection  Ljdk/internal/net/http/HttpConnection;
            0    7     2   contentLength  J
            0    7     4               h  Ljava/net/http/HttpHeaders;
            0    7     5  userSubscriber  Ljava/net/http/HttpResponse$BodySubscriber<*>;
            0    7     6      onFinished  Ljava/lang/Runnable;
    Signature: (Ljdk/internal/net/http/HttpConnection;JLjava/net/http/HttpHeaders;Ljava/net/http/HttpResponse$BodySubscriber<*>;Ljava/lang/Runnable;)V
    MethodParameters:
                Name  Flags
      connection      
      contentLength   
      h               
      userSubscriber  
      onFinished      

  boolean contentChunked();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // jdk.internal.net.http.ResponseContent this
         0: .line 75
            aload 0 /* this */
            getfield jdk.internal.net.http.ResponseContent.chunkedContentInitialized:Z
            ifeq 2
         1: .line 76
            aload 0 /* this */
            getfield jdk.internal.net.http.ResponseContent.chunkedContent:Z
            ireturn
         2: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.ResponseContent.contentLength:J
            ldc -2
            lcmp
            ifne 6
         3: .line 80
            aload 0 /* this */
            iconst_1
            putfield jdk.internal.net.http.ResponseContent.chunkedContentInitialized:Z
         4: .line 81
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.net.http.ResponseContent.chunkedContent:Z
         5: .line 82
            aload 0 /* this */
            getfield jdk.internal.net.http.ResponseContent.chunkedContent:Z
            ireturn
         6: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.ResponseContent.contentLength:J
            ldc -1
            lcmp
            ifne 16
         7: .line 85
            aload 0 /* this */
            getfield jdk.internal.net.http.ResponseContent.headers:Ljava/net/http/HttpHeaders;
            ldc "Transfer-Encoding"
            invokevirtual java.net.http.HttpHeaders.firstValue:(Ljava/lang/String;)Ljava/util/Optional;
         8: .line 86
            ldc ""
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
         9: .line 85
            astore 1 /* tc */
        start local 1 // java.lang.String tc
        10: .line 87
            aload 1 /* tc */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 15
        11: .line 88
            aload 1 /* tc */
            ldc "chunked"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 14
        12: .line 89
            aload 0 /* this */
            iconst_1
            putfield jdk.internal.net.http.ResponseContent.chunkedContent:Z
        13: .line 90
            goto 16
        14: .line 91
      StackMap locals: java.lang.String
      StackMap stack:
            new java.io.IOException
            dup
            ldc "invalid content"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.net.http.ResponseContent.chunkedContent:Z
        end local 1 // java.lang.String tc
        16: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield jdk.internal.net.http.ResponseContent.chunkedContentInitialized:Z
        17: .line 98
            aload 0 /* this */
            getfield jdk.internal.net.http.ResponseContent.chunkedContent:Z
            ireturn
        end local 0 // jdk.internal.net.http.ResponseContent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljdk/internal/net/http/ResponseContent;
           10   16     1    tc  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  jdk.internal.net.http.ResponseContent$BodyParser getBodyParser(java.util.function.Consumer<java.lang.Throwable>);
    descriptor: (Ljava/util/function/Consumer;)Ljdk/internal/net/http/ResponseContent$BodyParser;
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.internal.net.http.ResponseContent this
        start local 1 // java.util.function.Consumer onComplete
         0: .line 117
            aload 0 /* this */
            invokevirtual jdk.internal.net.http.ResponseContent.contentChunked:()Z
            ifeq 2
         1: .line 118
            new jdk.internal.net.http.ResponseContent$ChunkedBodyParser
            dup
            aload 0 /* this */
            aload 1 /* onComplete */
            invokespecial jdk.internal.net.http.ResponseContent$ChunkedBodyParser.<init>:(Ljdk/internal/net/http/ResponseContent;Ljava/util/function/Consumer;)V
            areturn
         2: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.ResponseContent.contentLength:J
            ldc -2
            lcmp
            ifne 4
         3: .line 121
            new jdk.internal.net.http.ResponseContent$UnknownLengthBodyParser
            dup
            aload 0 /* this */
            aload 1 /* onComplete */
            invokespecial jdk.internal.net.http.ResponseContent$UnknownLengthBodyParser.<init>:(Ljdk/internal/net/http/ResponseContent;Ljava/util/function/Consumer;)V
            goto 5
         4: .line 122
      StackMap locals:
      StackMap stack:
            new jdk.internal.net.http.ResponseContent$FixedLengthBodyParser
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.net.http.ResponseContent.contentLength:J
            aload 1 /* onComplete */
            invokespecial jdk.internal.net.http.ResponseContent$FixedLengthBodyParser.<init>:(Ljdk/internal/net/http/ResponseContent;JLjava/util/function/Consumer;)V
         5: .line 120
      StackMap locals:
      StackMap stack: jdk.internal.net.http.ResponseContent$BodyParser
            areturn
        end local 1 // java.util.function.Consumer onComplete
        end local 0 // jdk.internal.net.http.ResponseContent this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Ljdk/internal/net/http/ResponseContent;
            0    6     1  onComplete  Ljava/util/function/Consumer<Ljava/lang/Throwable;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/function/Consumer<Ljava/lang/Throwable;>;)Ljdk/internal/net/http/ResponseContent$BodyParser;
    MethodParameters:
            Name  Flags
      onComplete  
}
SourceFile: "ResponseContent.java"
NestMembers:
  jdk.internal.net.http.ResponseContent$BodyParser  jdk.internal.net.http.ResponseContent$ChunkState  jdk.internal.net.http.ResponseContent$ChunkedBodyParser  jdk.internal.net.http.ResponseContent$FixedLengthBodyParser  jdk.internal.net.http.ResponseContent$UnknownLengthBodyParser
InnerClasses:
  public abstract BodySubscriber = java.net.http.HttpResponse$BodySubscriber of java.net.http.HttpResponse
  abstract BodyParser = jdk.internal.net.http.ResponseContent$BodyParser of jdk.internal.net.http.ResponseContent
  final ChunkState = jdk.internal.net.http.ResponseContent$ChunkState of jdk.internal.net.http.ResponseContent
  ChunkedBodyParser = jdk.internal.net.http.ResponseContent$ChunkedBodyParser of jdk.internal.net.http.ResponseContent
  FixedLengthBodyParser = jdk.internal.net.http.ResponseContent$FixedLengthBodyParser of jdk.internal.net.http.ResponseContent
  UnknownLengthBodyParser = jdk.internal.net.http.ResponseContent$UnknownLengthBodyParser of jdk.internal.net.http.ResponseContent