public abstract class java.net.http.HttpClient
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: java.net.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 // java.net.http.HttpClient this
         0: .line 135
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.net.http.HttpClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/http/HttpClient;

  public static java.net.http.HttpClient newHttpClient();
    descriptor: ()Ljava/net/http/HttpClient;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 158
            invokestatic java.net.http.HttpClient.newBuilder:()Ljava/net/http/HttpClient$Builder;
            invokeinterface java.net.http.HttpClient$Builder.build:()Ljava/net/http/HttpClient;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

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

  public abstract java.util.Optional<java.time.Duration> connectTimeout();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Optional<Ljava/time/Duration;>;

  public abstract java.net.http.HttpClient$Redirect followRedirects();
    descriptor: ()Ljava/net/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 javax.net.ssl.SSLParameters sslParameters();
    descriptor: ()Ljavax/net/ssl/SSLParameters;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  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 java.net.http.HttpClient$Version version();
    descriptor: ()Ljava/net/http/HttpClient$Version;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

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

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

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

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

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