public class org.springframework.http.client.OkHttp3ClientHttpRequestFactory implements org.springframework.http.client.ClientHttpRequestFactory, org.springframework.http.client.AsyncClientHttpRequestFactory, org.springframework.beans.factory.DisposableBean
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.http.client.OkHttp3ClientHttpRequestFactory
  super_class: java.lang.Object
{
  private okhttp3.OkHttpClient client;
    descriptor: Lokhttp3/OkHttpClient;
    flags: (0x0002) ACC_PRIVATE

  private final boolean defaultClient;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
         0: .line 57
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            new okhttp3.OkHttpClient
            dup
            invokespecial okhttp3.OkHttpClient.<init>:()V
            putfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.client:Lokhttp3/OkHttpClient;
         2: .line 59
            aload 0 /* this */
            iconst_1
            putfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.defaultClient:Z
         3: .line 60
            return
        end local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/http/client/OkHttp3ClientHttpRequestFactory;

  public void <init>(okhttp3.OkHttpClient);
    descriptor: (Lokhttp3/OkHttpClient;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
        start local 1 // okhttp3.OkHttpClient client
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            aload 1 /* client */
            ldc "OkHttpClient must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 68
            aload 0 /* this */
            aload 1 /* client */
            putfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.client:Lokhttp3/OkHttpClient;
         3: .line 69
            aload 0 /* this */
            iconst_0
            putfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.defaultClient:Z
         4: .line 70
            return
        end local 1 // okhttp3.OkHttpClient client
        end local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/springframework/http/client/OkHttp3ClientHttpRequestFactory;
            0    5     1  client  Lokhttp3/OkHttpClient;
    MethodParameters:
        Name  Flags
      client  

  public void setReadTimeout(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
        start local 1 // int readTimeout
         0: .line 78
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.client:Lokhttp3/OkHttpClient;
            invokevirtual okhttp3.OkHttpClient.newBuilder:()Lokhttp3/OkHttpClient$Builder;
         1: .line 79
            iload 1 /* readTimeout */
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual okhttp3.OkHttpClient$Builder.readTimeout:(JLjava/util/concurrent/TimeUnit;)Lokhttp3/OkHttpClient$Builder;
         2: .line 80
            invokevirtual okhttp3.OkHttpClient$Builder.build:()Lokhttp3/OkHttpClient;
         3: .line 78
            putfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.client:Lokhttp3/OkHttpClient;
         4: .line 81
            return
        end local 1 // int readTimeout
        end local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/springframework/http/client/OkHttp3ClientHttpRequestFactory;
            0    5     1  readTimeout  I
    MethodParameters:
             Name  Flags
      readTimeout  

  public void setWriteTimeout(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
        start local 1 // int writeTimeout
         0: .line 88
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.client:Lokhttp3/OkHttpClient;
            invokevirtual okhttp3.OkHttpClient.newBuilder:()Lokhttp3/OkHttpClient$Builder;
         1: .line 89
            iload 1 /* writeTimeout */
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual okhttp3.OkHttpClient$Builder.writeTimeout:(JLjava/util/concurrent/TimeUnit;)Lokhttp3/OkHttpClient$Builder;
         2: .line 90
            invokevirtual okhttp3.OkHttpClient$Builder.build:()Lokhttp3/OkHttpClient;
         3: .line 88
            putfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.client:Lokhttp3/OkHttpClient;
         4: .line 91
            return
        end local 1 // int writeTimeout
        end local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/springframework/http/client/OkHttp3ClientHttpRequestFactory;
            0    5     1  writeTimeout  I
    MethodParameters:
              Name  Flags
      writeTimeout  

  public void setConnectTimeout(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
        start local 1 // int connectTimeout
         0: .line 98
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.client:Lokhttp3/OkHttpClient;
            invokevirtual okhttp3.OkHttpClient.newBuilder:()Lokhttp3/OkHttpClient$Builder;
         1: .line 99
            iload 1 /* connectTimeout */
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual okhttp3.OkHttpClient$Builder.connectTimeout:(JLjava/util/concurrent/TimeUnit;)Lokhttp3/OkHttpClient$Builder;
         2: .line 100
            invokevirtual okhttp3.OkHttpClient$Builder.build:()Lokhttp3/OkHttpClient;
         3: .line 98
            putfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.client:Lokhttp3/OkHttpClient;
         4: .line 101
            return
        end local 1 // int connectTimeout
        end local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/springframework/http/client/OkHttp3ClientHttpRequestFactory;
            0    5     1  connectTimeout  I
    MethodParameters:
                Name  Flags
      connectTimeout  

  public org.springframework.http.client.ClientHttpRequest createRequest(java.net.URI, org.springframework.http.HttpMethod);
    descriptor: (Ljava/net/URI;Lorg/springframework/http/HttpMethod;)Lorg/springframework/http/client/ClientHttpRequest;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
        start local 1 // java.net.URI uri
        start local 2 // org.springframework.http.HttpMethod httpMethod
         0: .line 106
            new org.springframework.http.client.OkHttp3ClientHttpRequest
            dup
            aload 0 /* this */
            getfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.client:Lokhttp3/OkHttpClient;
            aload 1 /* uri */
            aload 2 /* httpMethod */
            invokespecial org.springframework.http.client.OkHttp3ClientHttpRequest.<init>:(Lokhttp3/OkHttpClient;Ljava/net/URI;Lorg/springframework/http/HttpMethod;)V
            areturn
        end local 2 // org.springframework.http.HttpMethod httpMethod
        end local 1 // java.net.URI uri
        end local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/springframework/http/client/OkHttp3ClientHttpRequestFactory;
            0    1     1         uri  Ljava/net/URI;
            0    1     2  httpMethod  Lorg/springframework/http/HttpMethod;
    MethodParameters:
            Name  Flags
      uri         
      httpMethod  

  public org.springframework.http.client.AsyncClientHttpRequest createAsyncRequest(java.net.URI, org.springframework.http.HttpMethod);
    descriptor: (Ljava/net/URI;Lorg/springframework/http/HttpMethod;)Lorg/springframework/http/client/AsyncClientHttpRequest;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
        start local 1 // java.net.URI uri
        start local 2 // org.springframework.http.HttpMethod httpMethod
         0: .line 111
            new org.springframework.http.client.OkHttp3AsyncClientHttpRequest
            dup
            aload 0 /* this */
            getfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.client:Lokhttp3/OkHttpClient;
            aload 1 /* uri */
            aload 2 /* httpMethod */
            invokespecial org.springframework.http.client.OkHttp3AsyncClientHttpRequest.<init>:(Lokhttp3/OkHttpClient;Ljava/net/URI;Lorg/springframework/http/HttpMethod;)V
            areturn
        end local 2 // org.springframework.http.HttpMethod httpMethod
        end local 1 // java.net.URI uri
        end local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/springframework/http/client/OkHttp3ClientHttpRequestFactory;
            0    1     1         uri  Ljava/net/URI;
            0    1     2  httpMethod  Lorg/springframework/http/HttpMethod;
    MethodParameters:
            Name  Flags
      uri         
      httpMethod  

  public void destroy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
         0: .line 117
            aload 0 /* this */
            getfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.defaultClient:Z
            ifeq 5
         1: .line 119
            aload 0 /* this */
            getfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.client:Lokhttp3/OkHttpClient;
            invokevirtual okhttp3.OkHttpClient.cache:()Lokhttp3/Cache;
            astore 1 /* cache */
        start local 1 // okhttp3.Cache cache
         2: .line 120
            aload 1 /* cache */
            ifnull 4
         3: .line 121
            aload 1 /* cache */
            invokevirtual okhttp3.Cache.close:()V
         4: .line 123
      StackMap locals: okhttp3.Cache
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.http.client.OkHttp3ClientHttpRequestFactory.client:Lokhttp3/OkHttpClient;
            invokevirtual okhttp3.OkHttpClient.dispatcher:()Lokhttp3/Dispatcher;
            invokevirtual okhttp3.Dispatcher.executorService:()Ljava/util/concurrent/ExecutorService;
            invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
        end local 1 // okhttp3.Cache cache
         5: .line 125
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.springframework.http.client.OkHttp3ClientHttpRequestFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/springframework/http/client/OkHttp3ClientHttpRequestFactory;
            2    5     1  cache  Lokhttp3/Cache;
    Exceptions:
      throws java.io.IOException

  static okhttp3.Request buildRequest(org.springframework.http.HttpHeaders, byte[], java.net.URI, org.springframework.http.HttpMethod);
    descriptor: (Lorg/springframework/http/HttpHeaders;[BLjava/net/URI;Lorg/springframework/http/HttpMethod;)Lokhttp3/Request;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.springframework.http.HttpHeaders headers
        start local 1 // byte[] content
        start local 2 // java.net.URI uri
        start local 3 // org.springframework.http.HttpMethod method
         0: .line 131
            aload 0 /* headers */
            invokestatic org.springframework.http.client.OkHttp3ClientHttpRequestFactory.getContentType:(Lorg/springframework/http/HttpHeaders;)Lokhttp3/MediaType;
            astore 4 /* contentType */
        start local 4 // okhttp3.MediaType contentType
         1: .line 132
            aload 1 /* content */
            arraylength
            ifgt 3
         2: .line 133
            aload 3 /* method */
            invokevirtual org.springframework.http.HttpMethod.name:()Ljava/lang/String;
            invokestatic okhttp3.internal.http.HttpMethod.requiresRequestBody:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 134
      StackMap locals: okhttp3.MediaType
      StackMap stack:
            aload 4 /* contentType */
            aload 1 /* content */
            invokestatic okhttp3.RequestBody.create:(Lokhttp3/MediaType;[B)Lokhttp3/RequestBody;
            goto 5
      StackMap locals:
      StackMap stack:
         4: aconst_null
         5: .line 132
      StackMap locals:
      StackMap stack: okhttp3.RequestBody
            astore 5 /* body */
        start local 5 // okhttp3.RequestBody body
         6: .line 136
            new okhttp3.Request$Builder
            dup
            invokespecial okhttp3.Request$Builder.<init>:()V
            aload 2 /* uri */
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            invokevirtual okhttp3.Request$Builder.url:(Ljava/net/URL;)Lokhttp3/Request$Builder;
            aload 3 /* method */
            invokevirtual org.springframework.http.HttpMethod.name:()Ljava/lang/String;
            aload 5 /* body */
            invokevirtual okhttp3.Request$Builder.method:(Ljava/lang/String;Lokhttp3/RequestBody;)Lokhttp3/Request$Builder;
            astore 6 /* builder */
        start local 6 // okhttp3.Request$Builder builder
         7: .line 137
            aload 0 /* headers */
            aload 6 /* builder */
            invokedynamic accept(Lokhttp3/Request$Builder;)Ljava/util/function/BiConsumer;
              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;)V
                  org/springframework/http/client/OkHttp3ClientHttpRequestFactory.lambda$0(Lokhttp3/Request$Builder;Ljava/lang/String;Ljava/util/List;)V (6)
                  (Ljava/lang/String;Ljava/util/List;)V
            invokevirtual org.springframework.http.HttpHeaders.forEach:(Ljava/util/function/BiConsumer;)V
         8: .line 142
            aload 6 /* builder */
            invokevirtual okhttp3.Request$Builder.build:()Lokhttp3/Request;
            areturn
        end local 6 // okhttp3.Request$Builder builder
        end local 5 // okhttp3.RequestBody body
        end local 4 // okhttp3.MediaType contentType
        end local 3 // org.springframework.http.HttpMethod method
        end local 2 // java.net.URI uri
        end local 1 // byte[] content
        end local 0 // org.springframework.http.HttpHeaders headers
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0      headers  Lorg/springframework/http/HttpHeaders;
            0    9     1      content  [B
            0    9     2          uri  Ljava/net/URI;
            0    9     3       method  Lorg/springframework/http/HttpMethod;
            1    9     4  contentType  Lokhttp3/MediaType;
            6    9     5         body  Lokhttp3/RequestBody;
            7    9     6      builder  Lokhttp3/Request$Builder;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
         Name  Flags
      headers  
      content  
      uri      
      method   

  private static okhttp3.MediaType getContentType(org.springframework.http.HttpHeaders);
    descriptor: (Lorg/springframework/http/HttpHeaders;)Lokhttp3/MediaType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.springframework.http.HttpHeaders headers
         0: .line 147
            aload 0 /* headers */
            ldc "Content-Type"
            invokevirtual org.springframework.http.HttpHeaders.getFirst:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* rawContentType */
        start local 1 // java.lang.String rawContentType
         1: .line 148
            aload 1 /* rawContentType */
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 2
            aload 1 /* rawContentType */
            invokestatic okhttp3.MediaType.parse:(Ljava/lang/String;)Lokhttp3/MediaType;
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: okhttp3.MediaType
         3: areturn
        end local 1 // java.lang.String rawContentType
        end local 0 // org.springframework.http.HttpHeaders headers
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0         headers  Lorg/springframework/http/HttpHeaders;
            1    4     1  rawContentType  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
         Name  Flags
      headers  

  private static void lambda$0(okhttp3.Request$Builder, java.lang.String, java.util.List);
    descriptor: (Lokhttp3/Request$Builder;Ljava/lang/String;Ljava/util/List;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=3
        start local 1 // java.lang.String headerName
        start local 2 // java.util.List headerValues
         0: .line 138
            aload 2 /* headerValues */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: okhttp3.Request$Builder java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* headerValue */
        start local 3 // java.lang.String headerValue
         2: .line 139
            aload 0
            aload 1 /* headerName */
            aload 3 /* headerValue */
            invokevirtual okhttp3.Request$Builder.addHeader:(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Request$Builder;
            pop
        end local 3 // java.lang.String headerValue
         3: .line 138
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 141
            return
        end local 2 // java.util.List headerValues
        end local 1 // java.lang.String headerName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     1    headerName  Ljava/lang/String;
            0    5     2  headerValues  Ljava/util/List<Ljava/lang/String;>;
            2    3     3   headerValue  Ljava/lang/String;
}
SourceFile: "OkHttp3ClientHttpRequestFactory.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Builder = okhttp3.OkHttpClient$Builder of okhttp3.OkHttpClient
  public Builder = okhttp3.Request$Builder of okhttp3.Request