public class org.apache.logging.log4j.core.appender.HttpURLConnectionManager extends org.apache.logging.log4j.core.appender.HttpManager
{
private static final java.nio.charset.Charset CHARSET;
private final java.net.URL url;
private final boolean isHttps;
private final java.lang.String method;
private final int connectTimeoutMillis;
private final int readTimeoutMillis;
private final org.apache.logging.log4j.core.config.Property[] headers;
private final org.apache.logging.log4j.core.net.ssl.SslConfiguration sslConfiguration;
private final boolean verifyHostname;
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)
{
org.apache.logging.log4j.core.appender.HttpURLConnectionManager v;
java.net.URL v, v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.core.net.ssl.SslConfiguration v, v;
org.apache.logging.log4j.core.config.Configuration v;
org.apache.logging.log4j.core.config.ConfigurationException v, v;
int v, v;
java.lang.String v, v, v, v, v;
boolean v, v, v, v, v;
org.apache.logging.log4j.core.config.Property[] v, v;
java.lang.Object v;
v := @this: org.apache.logging.log4j.core.appender.HttpURLConnectionManager;
v := @parameter: org.apache.logging.log4j.core.config.Configuration;
v := @parameter: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: java.lang.String;
v := @parameter: java.net.URL;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v := @parameter: org.apache.logging.log4j.core.config.Property[];
v := @parameter: org.apache.logging.log4j.core.net.ssl.SslConfiguration;
v := @parameter: boolean;
specialinvoke v.<org.apache.logging.log4j.core.appender.HttpManager: void <init>(org.apache.logging.log4j.core.config.Configuration,org.apache.logging.log4j.core.LoggerContext,java.lang.String)>(v, v, v);
v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: java.net.URL url> = v;
v = virtualinvoke v.<java.net.URL: java.lang.String getProtocol()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("http");
if v != 0 goto label;
v = virtualinvoke v.<java.net.URL: java.lang.String getProtocol()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("https");
if v != 0 goto label;
v = new org.apache.logging.log4j.core.config.ConfigurationException;
specialinvoke v.<org.apache.logging.log4j.core.config.ConfigurationException: void <init>(java.lang.String)>("URL must have scheme http or https");
throw v;
label:
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: java.net.URL url>;
v = virtualinvoke v.<java.net.URL: java.lang.String getProtocol()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("https");
v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: boolean isHttps> = v;
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "method");
v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: java.lang.String method> = v;
v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: int connectTimeoutMillis> = v;
v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: int readTimeoutMillis> = v;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.logging.log4j.core.config.Property: org.apache.logging.log4j.core.config.Property[] EMPTY_ARRAY>;
label:
v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: org.apache.logging.log4j.core.config.Property[] headers> = v;
v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: org.apache.logging.log4j.core.net.ssl.SslConfiguration sslConfiguration> = v;
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: org.apache.logging.log4j.core.net.ssl.SslConfiguration sslConfiguration>;
if v == null goto label;
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: boolean isHttps>;
if v != 0 goto label;
v = new org.apache.logging.log4j.core.config.ConfigurationException;
specialinvoke v.<org.apache.logging.log4j.core.config.ConfigurationException: void <init>(java.lang.String)>("SSL configuration can only be specified with URL scheme https");
throw v;
label:
v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: boolean verifyHostname> = v;
return;
}
public void send(org.apache.logging.log4j.core.Layout, org.apache.logging.log4j.core.LogEvent) throws java.io.IOException
{
java.net.HttpURLConnection v;
byte[] v, v;
org.apache.logging.log4j.core.appender.HttpURLConnectionManager v;
java.net.URL v;
org.apache.logging.log4j.core.LogEvent v;
org.apache.logging.log4j.core.config.Configuration v;
javax.net.ssl.HostnameVerifier v;
boolean v, v;
javax.net.ssl.SSLSocketFactory v;
java.lang.StringBuilder v, v;
org.apache.logging.log4j.core.Layout v;
org.apache.logging.log4j.core.lookup.StrSubstitutor v;
java.lang.Throwable v, v, v;
org.apache.logging.log4j.core.net.ssl.SslConfiguration v, v;
java.nio.charset.Charset v;
java.net.URLConnection v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
java.io.OutputStream v;
org.apache.logging.log4j.core.config.Property[] v;
java.io.IOException v, v;
org.apache.logging.log4j.core.config.Property v;
java.io.InputStream v, v;
v := @this: org.apache.logging.log4j.core.appender.HttpURLConnectionManager;
v := @parameter: org.apache.logging.log4j.core.Layout;
v := @parameter: org.apache.logging.log4j.core.LogEvent;
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: java.net.URL url>;
v = virtualinvoke v.<java.net.URL: java.net.URLConnection openConnection()>();
virtualinvoke v.<java.net.HttpURLConnection: void setAllowUserInteraction(boolean)>(0);
virtualinvoke v.<java.net.HttpURLConnection: void setDoOutput(boolean)>(1);
virtualinvoke v.<java.net.HttpURLConnection: void setDoInput(boolean)>(1);
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: java.lang.String method>;
virtualinvoke v.<java.net.HttpURLConnection: void setRequestMethod(java.lang.String)>(v);
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: int connectTimeoutMillis>;
if v <= 0 goto label;
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: int connectTimeoutMillis>;
virtualinvoke v.<java.net.HttpURLConnection: void setConnectTimeout(int)>(v);
label:
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: int readTimeoutMillis>;
if v <= 0 goto label;
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: int readTimeoutMillis>;
virtualinvoke v.<java.net.HttpURLConnection: void setReadTimeout(int)>(v);
label:
v = interfaceinvoke v.<org.apache.logging.log4j.core.Layout: java.lang.String getContentType()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.logging.log4j.core.Layout: java.lang.String getContentType()>();
virtualinvoke v.<java.net.HttpURLConnection: void setRequestProperty(java.lang.String,java.lang.String)>("Content-Type", v);
label:
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: org.apache.logging.log4j.core.config.Property[] headers>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Property: java.lang.String getName()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: org.apache.logging.log4j.core.config.Configuration getConfiguration()>();
v = interfaceinvoke v.<org.apache.logging.log4j.core.config.Configuration: org.apache.logging.log4j.core.lookup.StrSubstitutor getStrSubstitutor()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Property: java.lang.String evaluate(org.apache.logging.log4j.core.lookup.StrSubstitutor)>(v);
virtualinvoke v.<java.net.HttpURLConnection: void setRequestProperty(java.lang.String,java.lang.String)>(v, v);
v = v + 1;
goto label;
label:
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: org.apache.logging.log4j.core.net.ssl.SslConfiguration sslConfiguration>;
if v == null goto label;
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: org.apache.logging.log4j.core.net.ssl.SslConfiguration sslConfiguration>;
v = virtualinvoke v.<org.apache.logging.log4j.core.net.ssl.SslConfiguration: javax.net.ssl.SSLSocketFactory getSslSocketFactory()>();
virtualinvoke v.<javax.net.ssl.HttpsURLConnection: void setSSLSocketFactory(javax.net.ssl.SSLSocketFactory)>(v);
label:
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: boolean isHttps>;
if v == 0 goto label;
v = v.<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: boolean verifyHostname>;
if v != 0 goto label;
v = <org.apache.logging.log4j.core.net.ssl.LaxHostnameVerifier: javax.net.ssl.HostnameVerifier INSTANCE>;
virtualinvoke v.<javax.net.ssl.HttpsURLConnection: void setHostnameVerifier(javax.net.ssl.HostnameVerifier)>(v);
label:
v = interfaceinvoke v.<org.apache.logging.log4j.core.Layout: byte[] toByteArray(org.apache.logging.log4j.core.LogEvent)>(v);
v = lengthof v;
virtualinvoke v.<java.net.HttpURLConnection: void setFixedLengthStreamingMode(int)>(v);
virtualinvoke v.<java.net.HttpURLConnection: void connect()>();
v = virtualinvoke v.<java.net.HttpURLConnection: java.io.OutputStream getOutputStream()>();
label:
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
label:
virtualinvoke v.<java.io.OutputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = newarray (byte)[1024];
label:
v = virtualinvoke v.<java.net.HttpURLConnection: java.io.InputStream getInputStream()>();
label:
v = virtualinvoke v.<java.io.InputStream: int read(byte[])>(v);
v = (int) -1;
if v != v goto label;
label:
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.net.HttpURLConnection: java.io.InputStream getErrorStream()>();
label:
v = virtualinvoke v.<java.net.HttpURLConnection: int getResponseCode()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
v = virtualinvoke v.<java.net.HttpURLConnection: java.lang.String getResponseMessage()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
v = virtualinvoke v.<java.net.HttpURLConnection: java.lang.String getResponseMessage()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
if v == null goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" - ");
label:
v = virtualinvoke v.<java.io.InputStream: int read(byte[])>(v);
v = (int) -1;
if v == v goto label;
v = new java.lang.String;
v = <org.apache.logging.log4j.core.appender.HttpURLConnectionManager: java.nio.charset.Charset CHARSET>;
specialinvoke v.<java.lang.String: void <init>(byte[],int,int,java.nio.charset.Charset)>(v, 0, v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = virtualinvoke v.<java.net.HttpURLConnection: int getResponseCode()>();
v = (int) -1;
if v <= v goto label;
v = new java.io.IOException;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
java.nio.charset.Charset v;
v = staticinvoke <java.nio.charset.Charset: java.nio.charset.Charset forName(java.lang.String)>("US-ASCII");
<org.apache.logging.log4j.core.appender.HttpURLConnectionManager: java.nio.charset.Charset CHARSET> = v;
return;
}
}