public class org.apache.logging.log4j.core.appender.HttpURLConnectionManager extends org.apache.logging.log4j.core.appender.HttpManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.logging.log4j.core.appender.HttpURLConnectionManager
super_class: org.apache.logging.log4j.core.appender.HttpManager
{
private static final java.nio.charset.Charset CHARSET;
descriptor: Ljava/nio/charset/Charset;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.net.URL url;
descriptor: Ljava/net/URL;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isHttps;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String method;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int connectTimeoutMillis;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int readTimeoutMillis;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.logging.log4j.core.config.Property[] ;
descriptor: [Lorg/apache/logging/log4j/core/config/Property;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.logging.log4j.core.net.ssl.SslConfiguration sslConfiguration;
descriptor: Lorg/apache/logging/log4j/core/net/ssl/SslConfiguration;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean verifyHostname;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "US-ASCII"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
putstatic org.apache.logging.log4j.core.appender.HttpURLConnectionManager.CHARSET:Ljava/nio/charset/Charset;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.logging.log4j.core.config.Configuration, org.apache.logging.log4j.core.LoggerContext, java.lang.String, java.net.URL, java.lang.String, int, int, org.apache.logging.log4j.core.config.Property[], org.apache.logging.log4j.core.net.ssl.SslConfiguration, boolean);
descriptor: (Lorg/apache/logging/log4j/core/config/Configuration;Lorg/apache/logging/log4j/core/LoggerContext;Ljava/lang/String;Ljava/net/URL;Ljava/lang/String;II[Lorg/apache/logging/log4j/core/config/Property;Lorg/apache/logging/log4j/core/net/ssl/SslConfiguration;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 0
aload 1
aload 2
aload 3
invokespecial org.apache.logging.log4j.core.appender.HttpManager.<init>:(Lorg/apache/logging/log4j/core/config/Configuration;Lorg/apache/logging/log4j/core/LoggerContext;Ljava/lang/String;)V
1: aload 0
aload 4
putfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.url:Ljava/net/URL;
2: aload 4
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "http"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 4
aload 4
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "https"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 4
3: new org.apache.logging.log4j.core.config.ConfigurationException
dup
ldc "URL must have scheme http or https"
invokespecial org.apache.logging.log4j.core.config.ConfigurationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.apache.logging.log4j.core.appender.HttpURLConnectionManager org.apache.logging.log4j.core.config.Configuration org.apache.logging.log4j.core.LoggerContext java.lang.String java.net.URL java.lang.String int int org.apache.logging.log4j.core.config.Property[] org.apache.logging.log4j.core.net.ssl.SslConfiguration int
StackMap stack:
aload 0
aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.url:Ljava/net/URL;
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "https"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
putfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.isHttps:Z
5: aload 0
aload 5
ldc "method"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
putfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.method:Ljava/lang/String;
6: aload 0
iload 6
putfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.connectTimeoutMillis:I
7: aload 0
iload 7
putfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.readTimeoutMillis:I
8: aload 0
aload 8
ifnull 9
aload 8
goto 10
StackMap locals:
StackMap stack: org.apache.logging.log4j.core.appender.HttpURLConnectionManager
9: iconst_0
anewarray org.apache.logging.log4j.core.config.Property
StackMap locals: org.apache.logging.log4j.core.appender.HttpURLConnectionManager org.apache.logging.log4j.core.config.Configuration org.apache.logging.log4j.core.LoggerContext java.lang.String java.net.URL java.lang.String int int org.apache.logging.log4j.core.config.Property[] org.apache.logging.log4j.core.net.ssl.SslConfiguration int
StackMap stack: org.apache.logging.log4j.core.appender.HttpURLConnectionManager org.apache.logging.log4j.core.config.Property[]
10: putfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.headers:[Lorg/apache/logging/log4j/core/config/Property;
11: aload 0
aload 9
putfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.sslConfiguration:Lorg/apache/logging/log4j/core/net/ssl/SslConfiguration;
12: aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.sslConfiguration:Lorg/apache/logging/log4j/core/net/ssl/SslConfiguration;
ifnull 14
aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.isHttps:Z
ifne 14
13: new org.apache.logging.log4j.core.config.ConfigurationException
dup
ldc "SSL configuration can only be specified with URL scheme https"
invokespecial org.apache.logging.log4j.core.config.ConfigurationException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
iload 10
putfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.verifyHostname:Z
15: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/logging/log4j/core/appender/HttpURLConnectionManager;
0 16 1 configuration Lorg/apache/logging/log4j/core/config/Configuration;
0 16 2 loggerContext Lorg/apache/logging/log4j/core/LoggerContext;
0 16 3 name Ljava/lang/String;
0 16 4 url Ljava/net/URL;
0 16 5 method Ljava/lang/String;
0 16 6 connectTimeoutMillis I
0 16 7 readTimeoutMillis I
0 16 8 headers [Lorg/apache/logging/log4j/core/config/Property;
0 16 9 sslConfiguration Lorg/apache/logging/log4j/core/net/ssl/SslConfiguration;
0 16 10 verifyHostname Z
MethodParameters:
Name Flags
configuration final
loggerContext final
name final
url final
method final
connectTimeoutMillis final
readTimeoutMillis final
headers final
sslConfiguration final
verifyHostname final
public void send(org.apache.logging.log4j.core.Layout<?>, org.apache.logging.log4j.core.LogEvent);
descriptor: (Lorg/apache/logging/log4j/core/Layout;Lorg/apache/logging/log4j/core/LogEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.url:Ljava/net/URL;
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
checkcast java.net.HttpURLConnection
astore 3
start local 3 1: aload 3
iconst_0
invokevirtual java.net.HttpURLConnection.setAllowUserInteraction:(Z)V
2: aload 3
iconst_1
invokevirtual java.net.HttpURLConnection.setDoOutput:(Z)V
3: aload 3
iconst_1
invokevirtual java.net.HttpURLConnection.setDoInput:(Z)V
4: aload 3
aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.method:Ljava/lang/String;
invokevirtual java.net.HttpURLConnection.setRequestMethod:(Ljava/lang/String;)V
5: aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.connectTimeoutMillis:I
ifle 7
6: aload 3
aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.connectTimeoutMillis:I
invokevirtual java.net.HttpURLConnection.setConnectTimeout:(I)V
7: StackMap locals: java.net.HttpURLConnection
StackMap stack:
aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.readTimeoutMillis:I
ifle 9
8: aload 3
aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.readTimeoutMillis:I
invokevirtual java.net.HttpURLConnection.setReadTimeout:(I)V
9: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.apache.logging.log4j.core.Layout.getContentType:()Ljava/lang/String;
ifnull 11
10: aload 3
ldc "Content-Type"
aload 1
invokeinterface org.apache.logging.log4j.core.Layout.getContentType:()Ljava/lang/String;
invokevirtual java.net.HttpURLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.headers:[Lorg/apache/logging/log4j/core/config/Property;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 19
StackMap locals: org.apache.logging.log4j.core.appender.HttpURLConnectionManager org.apache.logging.log4j.core.Layout org.apache.logging.log4j.core.LogEvent java.net.HttpURLConnection top int int org.apache.logging.log4j.core.config.Property[]
StackMap stack:
12: aload 7
iload 5
aaload
astore 4
start local 4 13: aload 3
14: aload 4
invokevirtual org.apache.logging.log4j.core.config.Property.getName:()Ljava/lang/String;
15: aload 4
invokevirtual org.apache.logging.log4j.core.config.Property.isValueNeedsLookup:()Z
ifeq 16
aload 0
invokevirtual org.apache.logging.log4j.core.appender.HttpURLConnectionManager.getConfiguration:()Lorg/apache/logging/log4j/core/config/Configuration;
invokeinterface org.apache.logging.log4j.core.config.Configuration.getStrSubstitutor:()Lorg/apache/logging/log4j/core/lookup/StrSubstitutor;
aload 2
aload 4
invokevirtual org.apache.logging.log4j.core.config.Property.getValue:()Ljava/lang/String;
invokevirtual org.apache.logging.log4j.core.lookup.StrSubstitutor.replace:(Lorg/apache/logging/log4j/core/LogEvent;Ljava/lang/String;)Ljava/lang/String;
goto 17
StackMap locals: org.apache.logging.log4j.core.appender.HttpURLConnectionManager org.apache.logging.log4j.core.Layout org.apache.logging.log4j.core.LogEvent java.net.HttpURLConnection org.apache.logging.log4j.core.config.Property int int org.apache.logging.log4j.core.config.Property[]
StackMap stack: java.net.HttpURLConnection java.lang.String
16: aload 4
invokevirtual org.apache.logging.log4j.core.config.Property.getValue:()Ljava/lang/String;
17: StackMap locals: org.apache.logging.log4j.core.appender.HttpURLConnectionManager org.apache.logging.log4j.core.Layout org.apache.logging.log4j.core.LogEvent java.net.HttpURLConnection org.apache.logging.log4j.core.config.Property int int org.apache.logging.log4j.core.config.Property[]
StackMap stack: java.net.HttpURLConnection java.lang.String java.lang.String
invokevirtual java.net.HttpURLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
end local 4 18: iinc 5 1
StackMap locals: org.apache.logging.log4j.core.appender.HttpURLConnectionManager org.apache.logging.log4j.core.Layout org.apache.logging.log4j.core.LogEvent java.net.HttpURLConnection top int int org.apache.logging.log4j.core.config.Property[]
StackMap stack:
19: iload 5
iload 6
if_icmplt 12
20: aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.sslConfiguration:Lorg/apache/logging/log4j/core/net/ssl/SslConfiguration;
ifnull 22
21: aload 3
checkcast javax.net.ssl.HttpsURLConnection
aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.sslConfiguration:Lorg/apache/logging/log4j/core/net/ssl/SslConfiguration;
invokevirtual org.apache.logging.log4j.core.net.ssl.SslConfiguration.getSslSocketFactory:()Ljavax/net/ssl/SSLSocketFactory;
invokevirtual javax.net.ssl.HttpsURLConnection.setSSLSocketFactory:(Ljavax/net/ssl/SSLSocketFactory;)V
22: StackMap locals: org.apache.logging.log4j.core.appender.HttpURLConnectionManager org.apache.logging.log4j.core.Layout org.apache.logging.log4j.core.LogEvent java.net.HttpURLConnection
StackMap stack:
aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.isHttps:Z
ifeq 24
aload 0
getfield org.apache.logging.log4j.core.appender.HttpURLConnectionManager.verifyHostname:Z
ifne 24
23: aload 3
checkcast javax.net.ssl.HttpsURLConnection
getstatic org.apache.logging.log4j.core.net.ssl.LaxHostnameVerifier.INSTANCE:Ljavax/net/ssl/HostnameVerifier;
invokevirtual javax.net.ssl.HttpsURLConnection.setHostnameVerifier:(Ljavax/net/ssl/HostnameVerifier;)V
24: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface org.apache.logging.log4j.core.Layout.toByteArray:(Lorg/apache/logging/log4j/core/LogEvent;)[B
astore 4
start local 4 25: aload 3
aload 4
arraylength
invokevirtual java.net.HttpURLConnection.setFixedLengthStreamingMode:(I)V
26: aload 3
invokevirtual java.net.HttpURLConnection.connect:()V
27: aconst_null
astore 5
aconst_null
astore 6
28: aload 3
invokevirtual java.net.HttpURLConnection.getOutputStream:()Ljava/io/OutputStream;
astore 7
start local 7 29: aload 7
aload 4
invokevirtual java.io.OutputStream.write:([B)V
30: aload 7
ifnull 36
aload 7
invokevirtual java.io.OutputStream.close:()V
goto 36
StackMap locals: org.apache.logging.log4j.core.appender.HttpURLConnectionManager org.apache.logging.log4j.core.Layout org.apache.logging.log4j.core.LogEvent java.net.HttpURLConnection byte[] java.lang.Throwable java.lang.Throwable java.io.OutputStream
StackMap stack: java.lang.Throwable
31: astore 5
aload 7
ifnull 32
aload 7
invokevirtual java.io.OutputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
32: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 6
aload 5
ifnonnull 34
aload 6
astore 5
goto 35
StackMap locals:
StackMap stack:
34: aload 5
aload 6
if_acmpeq 35
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
35: aload 5
athrow
36: StackMap locals:
StackMap stack:
sipush 1024
newarray 8
astore 5
start local 5 37: aconst_null
astore 6
aconst_null
astore 7
38: aload 3
invokevirtual java.net.HttpURLConnection.getInputStream:()Ljava/io/InputStream;
astore 8
start local 8 39: StackMap locals: org.apache.logging.log4j.core.appender.HttpURLConnectionManager org.apache.logging.log4j.core.Layout org.apache.logging.log4j.core.LogEvent java.net.HttpURLConnection byte[] byte[] java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack:
iconst_m1
aload 8
aload 5
invokevirtual java.io.InputStream.read:([B)I
if_icmpne 39
40: aload 8
ifnull 68
aload 8
invokevirtual java.io.InputStream.close:()V
goto 68
StackMap locals:
StackMap stack: java.lang.Throwable
41: astore 6
aload 8
ifnull 42
aload 8
invokevirtual java.io.InputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
42: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 7
aload 6
ifnonnull 44
aload 7
astore 6
goto 45
StackMap locals:
StackMap stack:
44: aload 6
aload 7
if_acmpeq 45
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
45: aload 6
athrow
StackMap locals: org.apache.logging.log4j.core.appender.HttpURLConnectionManager org.apache.logging.log4j.core.Layout org.apache.logging.log4j.core.LogEvent java.net.HttpURLConnection byte[] byte[]
StackMap stack: java.io.IOException
46: astore 6
start local 6 47: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 7
start local 7 48: aconst_null
astore 8
aconst_null
astore 9
49: aload 3
invokevirtual java.net.HttpURLConnection.getErrorStream:()Ljava/io/InputStream;
astore 10
start local 10 50: aload 7
aload 3
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
51: aload 3
invokevirtual java.net.HttpURLConnection.getResponseMessage:()Ljava/lang/String;
ifnull 53
52: aload 7
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.net.HttpURLConnection.getResponseMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
53: StackMap locals: org.apache.logging.log4j.core.appender.HttpURLConnectionManager org.apache.logging.log4j.core.Layout org.apache.logging.log4j.core.LogEvent java.net.HttpURLConnection byte[] byte[] java.io.IOException java.lang.StringBuilder java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack:
aload 10
ifnull 59
54: aload 7
ldc " - "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
55: goto 57
start local 11 56: StackMap locals: int
StackMap stack:
aload 7
new java.lang.String
dup
aload 5
iconst_0
iload 11
getstatic org.apache.logging.log4j.core.appender.HttpURLConnectionManager.CHARSET:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 11 57: StackMap locals:
StackMap stack:
iconst_m1
aload 10
aload 5
invokevirtual java.io.InputStream.read:([B)I
dup
istore 11
start local 11 58: if_icmpne 56
end local 11 59: StackMap locals:
StackMap stack:
aload 10
ifnull 65
aload 10
invokevirtual java.io.InputStream.close:()V
goto 65
StackMap locals:
StackMap stack: java.lang.Throwable
60: astore 8
aload 10
ifnull 61
aload 10
invokevirtual java.io.InputStream.close:()V
end local 10 StackMap locals:
StackMap stack:
61: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
62: astore 9
aload 8
ifnonnull 63
aload 9
astore 8
goto 64
StackMap locals:
StackMap stack:
63: aload 8
aload 9
if_acmpeq 64
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
64: aload 8
athrow
65: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
iconst_m1
if_icmple 67
66: new java.io.IOException
dup
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
67: StackMap locals:
StackMap stack:
aload 6
athrow
end local 7 end local 6 68: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Lorg/apache/logging/log4j/core/appender/HttpURLConnectionManager;
0 69 1 layout Lorg/apache/logging/log4j/core/Layout<*>;
0 69 2 event Lorg/apache/logging/log4j/core/LogEvent;
1 69 3 urlConnection Ljava/net/HttpURLConnection;
13 18 4 header Lorg/apache/logging/log4j/core/config/Property;
25 69 4 msg [B
29 32 7 os Ljava/io/OutputStream;
37 69 5 buffer [B
39 42 8 is Ljava/io/InputStream;
47 68 6 e Ljava/io/IOException;
48 68 7 errorMessage Ljava/lang/StringBuilder;
50 61 10 es Ljava/io/InputStream;
56 57 11 n I
58 59 11 n I
Exception table:
from to target type
29 30 31 any
28 33 33 any
39 40 41 any
38 43 43 any
37 46 46 Class java.io.IOException
50 59 60 any
49 62 62 any
Exceptions:
throws java.io.IOException
Signature: (Lorg/apache/logging/log4j/core/Layout<*>;Lorg/apache/logging/log4j/core/LogEvent;)V
MethodParameters:
Name Flags
layout final
event final
}
SourceFile: "HttpURLConnectionManager.java"