public abstract class jdk.incubator.http.HttpClient
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.incubator.http.HttpClient
  super_class: java.lang.Object
{
  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.HttpClient this
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.incubator.http.HttpClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/HttpClient;

  public static jdk.incubator.http.HttpClient newHttpClient();
    descriptor: ()Ljdk/incubator/http/HttpClient;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 66
            new jdk.incubator.http.HttpClientBuilderImpl
            dup
            invokespecial jdk.incubator.http.HttpClientBuilderImpl.<init>:()V
            invokevirtual jdk.incubator.http.HttpClientBuilderImpl.build:()Ljdk/incubator/http/HttpClient;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.incubator.http.HttpClient$Builder newBuilder();
    descriptor: ()Ljdk/incubator/http/HttpClient$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 75
            new jdk.incubator.http.HttpClientBuilderImpl
            dup
            invokespecial jdk.incubator.http.HttpClientBuilderImpl.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public abstract java.util.Optional<java.net.CookieManager> cookieManager();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Optional<Ljava/net/CookieManager;>;

  public abstract jdk.incubator.http.HttpClient$Redirect followRedirects();
    descriptor: ()Ljdk/incubator/http/HttpClient$Redirect;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.Optional<java.net.ProxySelector> proxy();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Optional<Ljava/net/ProxySelector;>;

  public abstract javax.net.ssl.SSLContext sslContext();
    descriptor: ()Ljavax/net/ssl/SSLContext;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.Optional<javax.net.ssl.SSLParameters> sslParameters();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Optional<Ljavax/net/ssl/SSLParameters;>;

  public abstract java.util.Optional<java.net.Authenticator> authenticator();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Optional<Ljava/net/Authenticator;>;

  public abstract jdk.incubator.http.HttpClient$Version version();
    descriptor: ()Ljdk/incubator/http/HttpClient$Version;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.concurrent.Executor executor();
    descriptor: ()Ljava/util/concurrent/Executor;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract <T> jdk.incubator.http.HttpResponse<T> send(jdk.incubator.http.HttpRequest, jdk.incubator.http.HttpResponse$BodyHandler<T>);
    descriptor: (Ljdk/incubator/http/HttpRequest;Ljdk/incubator/http/HttpResponse$BodyHandler;)Ljdk/incubator/http/HttpResponse;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException, java.lang.InterruptedException
    Signature: <T:Ljava/lang/Object;>(Ljdk/incubator/http/HttpRequest;Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;)Ljdk/incubator/http/HttpResponse<TT;>;
    MethodParameters:
                     Name  Flags
      req                  
      responseBodyHandler  

  public abstract <T> java.util.concurrent.CompletableFuture<jdk.incubator.http.HttpResponse<T>> sendAsync(jdk.incubator.http.HttpRequest, jdk.incubator.http.HttpResponse$BodyHandler<T>);
    descriptor: (Ljdk/incubator/http/HttpRequest;Ljdk/incubator/http/HttpResponse$BodyHandler;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljdk/incubator/http/HttpRequest;Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;)Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/HttpResponse<TT;>;>;
    MethodParameters:
                     Name  Flags
      req                  
      responseBodyHandler  

  public abstract <U, T> java.util.concurrent.CompletableFuture<U> sendAsync(jdk.incubator.http.HttpRequest, jdk.incubator.http.HttpResponse$MultiProcessor<U, T>);
    descriptor: (Ljdk/incubator/http/HttpRequest;Ljdk/incubator/http/HttpResponse$MultiProcessor;)Ljava/util/concurrent/CompletableFuture;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <U:Ljava/lang/Object;T:Ljava/lang/Object;>(Ljdk/incubator/http/HttpRequest;Ljdk/incubator/http/HttpResponse$MultiProcessor<TU;TT;>;)Ljava/util/concurrent/CompletableFuture<TU;>;
    MethodParameters:
                Name  Flags
      req             
      multiProcessor  

  public jdk.incubator.http.WebSocket$Builder newWebSocketBuilder(java.net.URI, jdk.incubator.http.WebSocket$Listener);
    descriptor: (Ljava/net/URI;Ljdk/incubator/http/WebSocket$Listener;)Ljdk/incubator/http/WebSocket$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.incubator.http.HttpClient this
        start local 1 // java.net.URI uri
        start local 2 // jdk.incubator.http.WebSocket$Listener listener
         0: .line 427
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // jdk.incubator.http.WebSocket$Listener listener
        end local 1 // java.net.URI uri
        end local 0 // jdk.incubator.http.HttpClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljdk/incubator/http/HttpClient;
            0    1     1       uri  Ljava/net/URI;
            0    1     2  listener  Ljdk/incubator/http/WebSocket$Listener;
    MethodParameters:
          Name  Flags
      uri       
      listener  
}
SourceFile: "HttpClient.java"
NestMembers:
  jdk.incubator.http.HttpClient$Builder  jdk.incubator.http.HttpClient$Redirect  jdk.incubator.http.HttpClient$Version
InnerClasses:
  public abstract Builder = jdk.incubator.http.HttpClient$Builder of jdk.incubator.http.HttpClient
  public final Redirect = jdk.incubator.http.HttpClient$Redirect of jdk.incubator.http.HttpClient
  public final Version = jdk.incubator.http.HttpClient$Version of jdk.incubator.http.HttpClient
  public abstract BodyHandler = jdk.incubator.http.HttpResponse$BodyHandler of jdk.incubator.http.HttpResponse
  public abstract MultiProcessor = jdk.incubator.http.HttpResponse$MultiProcessor of jdk.incubator.http.HttpResponse
  public abstract Builder = jdk.incubator.http.WebSocket$Builder of jdk.incubator.http.WebSocket
  public abstract Listener = jdk.incubator.http.WebSocket$Listener of jdk.incubator.http.WebSocket