class jdk.incubator.http.ResponseContent
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.incubator.http.ResponseContent
  super_class: java.lang.Object
{
  static final boolean DEBUG;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  final jdk.incubator.http.HttpResponse$BodySubscriber<?> pusher;
    descriptor: Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x0010) ACC_FINAL
    Signature: Ljdk/incubator/http/HttpResponse$BodySubscriber<*>;

  final int contentLength;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final jdk.incubator.http.HttpHeaders headers;
    descriptor: Ljdk/incubator/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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 44
            getstatic jdk.incubator.http.internal.common.Utils.DEBUG:Z
            putstatic jdk.incubator.http.ResponseContent.DEBUG:Z
         1: .line 68
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.incubator.http.HttpConnection, int, jdk.incubator.http.HttpHeaders, jdk.incubator.http.HttpResponse$BodySubscriber<?>, java.lang.Runnable);
    descriptor: (Ljdk/incubator/http/HttpConnection;ILjdk/incubator/http/HttpHeaders;Ljdk/incubator/http/HttpResponse$BodySubscriber;Ljava/lang/Runnable;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // jdk.incubator.http.ResponseContent this
        start local 1 // jdk.incubator.http.HttpConnection connection
        start local 2 // int contentLength
        start local 3 // jdk.incubator.http.HttpHeaders h
        start local 4 // jdk.incubator.http.HttpResponse$BodySubscriber userSubscriber
        start local 5 // java.lang.Runnable onFinished
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            aload 0 /* this */
            aload 4 /* userSubscriber */
            putfield jdk.incubator.http.ResponseContent.pusher:Ljdk/incubator/http/HttpResponse$BodySubscriber;
         2: .line 61
            aload 0 /* this */
            iload 2 /* contentLength */
            putfield jdk.incubator.http.ResponseContent.contentLength:I
         3: .line 62
            aload 0 /* this */
            aload 3 /* h */
            putfield jdk.incubator.http.ResponseContent.headers:Ljdk/incubator/http/HttpHeaders;
         4: .line 63
            aload 0 /* this */
            aload 5 /* onFinished */
            putfield jdk.incubator.http.ResponseContent.onFinished:Ljava/lang/Runnable;
         5: .line 64
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* connection */
            invokevirtual jdk.incubator.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.incubator.http.ResponseContent.dbgTag:Ljava/lang/String;
         6: .line 65
            return
        end local 5 // java.lang.Runnable onFinished
        end local 4 // jdk.incubator.http.HttpResponse$BodySubscriber userSubscriber
        end local 3 // jdk.incubator.http.HttpHeaders h
        end local 2 // int contentLength
        end local 1 // jdk.incubator.http.HttpConnection connection
        end local 0 // jdk.incubator.http.ResponseContent this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Ljdk/incubator/http/ResponseContent;
            0    7     1      connection  Ljdk/incubator/http/HttpConnection;
            0    7     2   contentLength  I
            0    7     3               h  Ljdk/incubator/http/HttpHeaders;
            0    7     4  userSubscriber  Ljdk/incubator/http/HttpResponse$BodySubscriber<*>;
            0    7     5      onFinished  Ljava/lang/Runnable;
    Signature: (Ljdk/incubator/http/HttpConnection;ILjdk/incubator/http/HttpHeaders;Ljdk/incubator/http/HttpResponse$BodySubscriber<*>;Ljava/lang/Runnable;)V
    MethodParameters:
                Name  Flags
      connection      
      contentLength   
      h               
      userSubscriber  
      onFinished      

  boolean contentChunked();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.incubator.http.ResponseContent this
         0: .line 73
            aload 0 /* this */
            getfield jdk.incubator.http.ResponseContent.chunkedContentInitialized:Z
            ifeq 2
         1: .line 74
            aload 0 /* this */
            getfield jdk.incubator.http.ResponseContent.chunkedContent:Z
            ireturn
         2: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.ResponseContent.contentLength:I
            iconst_m1
            if_icmpne 12
         3: .line 77
            aload 0 /* this */
            getfield jdk.incubator.http.ResponseContent.headers:Ljdk/incubator/http/HttpHeaders;
            ldc "Transfer-Encoding"
            invokevirtual jdk.incubator.http.HttpHeaders.firstValue:(Ljava/lang/String;)Ljava/util/Optional;
         4: .line 78
            ldc ""
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
         5: .line 77
            astore 1 /* tc */
        start local 1 // java.lang.String tc
         6: .line 79
            aload 1 /* tc */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         7: .line 80
            aload 1 /* tc */
            ldc "chunked"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 81
            aload 0 /* this */
            iconst_1
            putfield jdk.incubator.http.ResponseContent.chunkedContent:Z
         9: .line 82
            goto 12
        10: .line 83
      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
        11: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield jdk.incubator.http.ResponseContent.chunkedContent:Z
        end local 1 // java.lang.String tc
        12: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield jdk.incubator.http.ResponseContent.chunkedContentInitialized:Z
        13: .line 90
            aload 0 /* this */
            getfield jdk.incubator.http.ResponseContent.chunkedContent:Z
            ireturn
        end local 0 // jdk.incubator.http.ResponseContent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljdk/incubator/http/ResponseContent;
            6   12     1    tc  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  jdk.incubator.http.ResponseContent$BodyParser getBodyParser(java.util.function.Consumer<java.lang.Throwable>);
    descriptor: (Ljava/util/function/Consumer;)Ljdk/incubator/http/ResponseContent$BodyParser;
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.incubator.http.ResponseContent this
        start local 1 // java.util.function.Consumer onComplete
         0: .line 106
            aload 0 /* this */
            invokevirtual jdk.incubator.http.ResponseContent.contentChunked:()Z
            ifeq 2
         1: .line 107
            new jdk.incubator.http.ResponseContent$ChunkedBodyParser
            dup
            aload 0 /* this */
            aload 1 /* onComplete */
            invokespecial jdk.incubator.http.ResponseContent$ChunkedBodyParser.<init>:(Ljdk/incubator/http/ResponseContent;Ljava/util/function/Consumer;)V
            areturn
         2: .line 109
      StackMap locals:
      StackMap stack:
            new jdk.incubator.http.ResponseContent$FixedLengthBodyParser
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.incubator.http.ResponseContent.contentLength:I
            aload 1 /* onComplete */
            invokespecial jdk.incubator.http.ResponseContent$FixedLengthBodyParser.<init>:(Ljdk/incubator/http/ResponseContent;ILjava/util/function/Consumer;)V
            areturn
        end local 1 // java.util.function.Consumer onComplete
        end local 0 // jdk.incubator.http.ResponseContent this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/incubator/http/ResponseContent;
            0    3     1  onComplete  Ljava/util/function/Consumer<Ljava/lang/Throwable;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/function/Consumer<Ljava/lang/Throwable;>;)Ljdk/incubator/http/ResponseContent$BodyParser;
    MethodParameters:
            Name  Flags
      onComplete  
}
SourceFile: "ResponseContent.java"
NestMembers:
  jdk.incubator.http.ResponseContent$BodyParser  jdk.incubator.http.ResponseContent$ChunkState  jdk.incubator.http.ResponseContent$ChunkedBodyParser  jdk.incubator.http.ResponseContent$FixedLengthBodyParser
InnerClasses:
  public abstract BodySubscriber = jdk.incubator.http.HttpResponse$BodySubscriber of jdk.incubator.http.HttpResponse
  abstract BodyParser = jdk.incubator.http.ResponseContent$BodyParser of jdk.incubator.http.ResponseContent
  final ChunkState = jdk.incubator.http.ResponseContent$ChunkState of jdk.incubator.http.ResponseContent
  ChunkedBodyParser = jdk.incubator.http.ResponseContent$ChunkedBodyParser of jdk.incubator.http.ResponseContent
  FixedLengthBodyParser = jdk.incubator.http.ResponseContent$FixedLengthBodyParser of jdk.incubator.http.ResponseContent