public interface jdk.incubator.http.HttpResponse$BodySubscriber<T> extends java.util.concurrent.Flow$Subscriber<java.util.List<java.nio.ByteBuffer>>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.incubator.http.HttpResponse$BodySubscriber
  super_class: java.lang.Object
{
  public abstract java.util.concurrent.CompletionStage<T> getBody();
    descriptor: ()Ljava/util/concurrent/CompletionStage;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/concurrent/CompletionStage<TT;>;

  public static <S extends java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>>> jdk.incubator.http.HttpResponse$BodySubscriber<java.lang.Void> fromSubscriber(S);
    descriptor: (Ljava/util/concurrent/Flow$Subscriber;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.concurrent.Flow$Subscriber subscriber
         0: .line 683
            new jdk.incubator.http.ResponseSubscribers$SubscriberAdapter
            dup
            aload 0 /* subscriber */
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  jdk/incubator/http/HttpResponse$BodySubscriber.lambda$0(Ljava/util/concurrent/Flow$Subscriber;)Ljava/lang/Void; (6 itf)
                  (Ljava/util/concurrent/Flow$Subscriber;)Ljava/lang/Void;
            invokespecial jdk.incubator.http.ResponseSubscribers$SubscriberAdapter.<init>:(Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;)V
            areturn
        end local 0 // java.util.concurrent.Flow$Subscriber subscriber
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  subscriber  TS;
    Signature: <S::Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;>(TS;)Ljdk/incubator/http/HttpResponse$BodySubscriber<Ljava/lang/Void;>;
    MethodParameters:
            Name  Flags
      subscriber  

  public static <S extends java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>>, T> jdk.incubator.http.HttpResponse$BodySubscriber<T> fromSubscriber(S, java.util.function.Function<S, T>);
    descriptor: (Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.concurrent.Flow$Subscriber subscriber
        start local 1 // java.util.function.Function finisher
         0: .line 711
            new jdk.incubator.http.ResponseSubscribers$SubscriberAdapter
            dup
            aload 0 /* subscriber */
            aload 1 /* finisher */
            invokespecial jdk.incubator.http.ResponseSubscribers$SubscriberAdapter.<init>:(Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;)V
            areturn
        end local 1 // java.util.function.Function finisher
        end local 0 // java.util.concurrent.Flow$Subscriber subscriber
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  subscriber  TS;
            0    1     1    finisher  Ljava/util/function/Function<TS;TT;>;
    Signature: <S::Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;T:Ljava/lang/Object;>(TS;Ljava/util/function/Function<TS;TT;>;)Ljdk/incubator/http/HttpResponse$BodySubscriber<TT;>;
    MethodParameters:
            Name  Flags
      subscriber  
      finisher    

  public static jdk.incubator.http.HttpResponse$BodySubscriber<java.lang.String> asString(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.nio.charset.Charset charset
         0: .line 725
            aload 0 /* charset */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 726
            new jdk.incubator.http.ResponseSubscribers$ByteArraySubscriber
            dup
         2: .line 727
            aload 0 /* charset */
            invokedynamic apply(Ljava/nio/charset/Charset;)Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  jdk/incubator/http/HttpResponse$BodySubscriber.lambda$1(Ljava/nio/charset/Charset;[B)Ljava/lang/String; (6 itf)
                  ([B)Ljava/lang/String;
         3: .line 726
            invokespecial jdk.incubator.http.ResponseSubscribers$ByteArraySubscriber.<init>:(Ljava/util/function/Function;)V
            areturn
        end local 0 // java.nio.charset.Charset charset
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  charset  Ljava/nio/charset/Charset;
    Signature: (Ljava/nio/charset/Charset;)Ljdk/incubator/http/HttpResponse$BodySubscriber<Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      charset  

  public static jdk.incubator.http.HttpResponse$BodySubscriber<byte[]> asByteArray();
    descriptor: ()Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 741
            new jdk.incubator.http.ResponseSubscribers$ByteArraySubscriber
            dup
         1: .line 742
            invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
         2: .line 741
            invokespecial jdk.incubator.http.ResponseSubscribers$ByteArraySubscriber.<init>:(Ljava/util/function/Function;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljdk/incubator/http/HttpResponse$BodySubscriber<[B>;

  private static jdk.incubator.http.HttpResponse$BodySubscriber<java.nio.file.Path> asFileImpl(java.nio.file.Path, java.nio.file.OpenOption[]);
    descriptor: (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.nio.file.Path file
        start local 1 // java.nio.file.OpenOption[] openOptions
         0: .line 748
            new jdk.incubator.http.ResponseSubscribers$PathSubscriber
            dup
            aload 0 /* file */
            aload 1 /* openOptions */
            invokespecial jdk.incubator.http.ResponseSubscribers$PathSubscriber.<init>:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)V
            areturn
        end local 1 // java.nio.file.OpenOption[] openOptions
        end local 0 // java.nio.file.Path file
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         file  Ljava/nio/file/Path;
            0    1     1  openOptions  [Ljava/nio/file/OpenOption;
    Signature: (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljdk/incubator/http/HttpResponse$BodySubscriber<Ljava/nio/file/Path;>;
    MethodParameters:
             Name  Flags
      file         
      openOptions  

  public static jdk.incubator.http.HttpResponse$BodySubscriber<java.nio.file.Path> asFile(java.nio.file.Path, java.nio.file.OpenOption[]);
    descriptor: (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.nio.file.Path file
        start local 1 // java.nio.file.OpenOption[] openOptions
         0: .line 774
            aload 0 /* file */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 775
            aload 1 /* openOptions */
            invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
            astore 2 /* opts */
        start local 2 // java.util.List opts
         2: .line 776
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         3: .line 777
            aload 3 /* sm */
            ifnull 10
         4: .line 778
            aload 0 /* file */
            invokestatic jdk.incubator.http.HttpResponse.pathForSecurityCheck:(Ljava/nio/file/Path;)Ljava/lang/String;
            astore 4 /* fn */
        start local 4 // java.lang.String fn
         5: .line 779
            aload 3 /* sm */
            aload 4 /* fn */
            invokevirtual java.lang.SecurityManager.checkWrite:(Ljava/lang/String;)V
         6: .line 780
            aload 2 /* opts */
            getstatic java.nio.file.StandardOpenOption.DELETE_ON_CLOSE:Ljava/nio/file/StandardOpenOption;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 781
            aload 3 /* sm */
            aload 4 /* fn */
            invokevirtual java.lang.SecurityManager.checkDelete:(Ljava/lang/String;)V
         8: .line 782
      StackMap locals: java.util.List java.lang.SecurityManager java.lang.String
      StackMap stack:
            aload 2 /* opts */
            getstatic java.nio.file.StandardOpenOption.READ:Ljava/nio/file/StandardOpenOption;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 783
            aload 3 /* sm */
            aload 4 /* fn */
            invokevirtual java.lang.SecurityManager.checkRead:(Ljava/lang/String;)V
        end local 4 // java.lang.String fn
        10: .line 785
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            aload 1 /* openOptions */
            invokestatic jdk.incubator.http.HttpResponse$BodySubscriber.asFileImpl:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 3 // java.lang.SecurityManager sm
        end local 2 // java.util.List opts
        end local 1 // java.nio.file.OpenOption[] openOptions
        end local 0 // java.nio.file.Path file
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         file  Ljava/nio/file/Path;
            0   11     1  openOptions  [Ljava/nio/file/OpenOption;
            2   11     2         opts  Ljava/util/List<Ljava/nio/file/OpenOption;>;
            3   11     3           sm  Ljava/lang/SecurityManager;
            5   10     4           fn  Ljava/lang/String;
    Signature: (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljdk/incubator/http/HttpResponse$BodySubscriber<Ljava/nio/file/Path;>;
    MethodParameters:
             Name  Flags
      file         
      openOptions  

  public static jdk.incubator.http.HttpResponse$BodySubscriber<java.nio.file.Path> asFile(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.nio.file.Path file
         0: .line 804
            aload 0 /* file */
            iconst_2
            anewarray java.nio.file.OpenOption
            dup
            iconst_0
            getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
            aastore
            dup
            iconst_1
            getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
            aastore
            invokestatic jdk.incubator.http.HttpResponse$BodySubscriber.asFile:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 0 // java.nio.file.Path file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  file  Ljava/nio/file/Path;
    Signature: (Ljava/nio/file/Path;)Ljdk/incubator/http/HttpResponse$BodySubscriber<Ljava/nio/file/Path;>;
    MethodParameters:
      Name  Flags
      file  

  public static jdk.incubator.http.HttpResponse$BodySubscriber<java.lang.Void> asByteArrayConsumer(java.util.function.Consumer<java.util.Optional<byte[]>>);
    descriptor: (Ljava/util/function/Consumer;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.function.Consumer consumer
         0: .line 822
            new jdk.incubator.http.ResponseSubscribers$ConsumerSubscriber
            dup
            aload 0 /* consumer */
            invokespecial jdk.incubator.http.ResponseSubscribers$ConsumerSubscriber.<init>:(Ljava/util/function/Consumer;)V
            areturn
        end local 0 // java.util.function.Consumer consumer
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  consumer  Ljava/util/function/Consumer<Ljava/util/Optional<[B>;>;
    Signature: (Ljava/util/function/Consumer<Ljava/util/Optional<[B>;>;)Ljdk/incubator/http/HttpResponse$BodySubscriber<Ljava/lang/Void;>;
    MethodParameters:
          Name  Flags
      consumer  

  public static jdk.incubator.http.HttpResponse$BodySubscriber<java.io.InputStream> asInputStream();
    descriptor: ()Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 846
            new jdk.incubator.http.ResponseSubscribers$HttpResponseInputStream
            dup
            invokespecial jdk.incubator.http.ResponseSubscribers$HttpResponseInputStream.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljdk/incubator/http/HttpResponse$BodySubscriber<Ljava/io/InputStream;>;

  public static <U> jdk.incubator.http.HttpResponse$BodySubscriber<U> discard(U);
    descriptor: (Ljava/lang/Object;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 859
            new jdk.incubator.http.ResponseSubscribers$NullSubscriber
            dup
            aload 0 /* value */
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            invokespecial jdk.incubator.http.ResponseSubscribers$NullSubscriber.<init>:(Ljava/util/Optional;)V
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  TU;
    Signature: <U:Ljava/lang/Object;>(TU;)Ljdk/incubator/http/HttpResponse$BodySubscriber<TU;>;
    MethodParameters:
       Name  Flags
      value  

  public static <T> jdk.incubator.http.HttpResponse$BodySubscriber<T> buffering(jdk.incubator.http.HttpResponse$BodySubscriber<T>, int);
    descriptor: (Ljdk/incubator/http/HttpResponse$BodySubscriber;I)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.incubator.http.HttpResponse$BodySubscriber downstream
        start local 1 // int bufferSize
         0: .line 881
            iload 1 /* bufferSize */
            ifgt 2
         1: .line 882
            new java.lang.IllegalArgumentException
            dup
            ldc "must be greater than 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 883
      StackMap locals:
      StackMap stack:
            new jdk.incubator.http.BufferingSubscriber
            dup
            aload 0 /* downstream */
            iload 1 /* bufferSize */
            invokespecial jdk.incubator.http.BufferingSubscriber.<init>:(Ljdk/incubator/http/HttpResponse$BodySubscriber;I)V
            areturn
        end local 1 // int bufferSize
        end local 0 // jdk.incubator.http.HttpResponse$BodySubscriber downstream
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  downstream  Ljdk/incubator/http/HttpResponse$BodySubscriber<TT;>;
            0    3     1  bufferSize  I
    Signature: <T:Ljava/lang/Object;>(Ljdk/incubator/http/HttpResponse$BodySubscriber<TT;>;I)Ljdk/incubator/http/HttpResponse$BodySubscriber<TT;>;
    MethodParameters:
            Name  Flags
      downstream  
      bufferSize  

  private static java.lang.Void lambda$0(java.util.concurrent.Flow$Subscriber);
    descriptor: (Ljava/util/concurrent/Flow$Subscriber;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.Flow$Subscriber s
         0: .line 683
            aconst_null
            areturn
        end local 0 // java.util.concurrent.Flow$Subscriber s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  TS;

  private static java.lang.String lambda$1(java.nio.charset.Charset, byte[]);
    descriptor: (Ljava/nio/charset/Charset;[B)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 1 // byte[] bytes
         0: .line 727
            new java.lang.String
            dup
            aload 1 /* bytes */
            aload 0
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            areturn
        end local 1 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     1  bytes  [B
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/concurrent/Flow$Subscriber<Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
SourceFile: "HttpResponse.java"
NestHost: jdk.incubator.http.HttpResponse
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 abstract BodySubscriber = jdk.incubator.http.HttpResponse$BodySubscriber of jdk.incubator.http.HttpResponse
  ByteArraySubscriber = jdk.incubator.http.ResponseSubscribers$ByteArraySubscriber of jdk.incubator.http.ResponseSubscribers
  ConsumerSubscriber = jdk.incubator.http.ResponseSubscribers$ConsumerSubscriber of jdk.incubator.http.ResponseSubscribers
  HttpResponseInputStream = jdk.incubator.http.ResponseSubscribers$HttpResponseInputStream of jdk.incubator.http.ResponseSubscribers
  NullSubscriber = jdk.incubator.http.ResponseSubscribers$NullSubscriber of jdk.incubator.http.ResponseSubscribers
  PathSubscriber = jdk.incubator.http.ResponseSubscribers$PathSubscriber of jdk.incubator.http.ResponseSubscribers
  final SubscriberAdapter = jdk.incubator.http.ResponseSubscribers$SubscriberAdapter of jdk.incubator.http.ResponseSubscribers