class org.kohsuke.github.GitHubClient extends java.lang.Object
{
static final int CONNECTION_ERROR_RETRIES;
static final int retryTimeoutMillis;
private final java.lang.String apiUrl;
private final org.kohsuke.github.GitHubRateLimitHandler rateLimitHandler;
private final org.kohsuke.github.GitHubAbuseLimitHandler abuseLimitHandler;
private final org.kohsuke.github.GitHubRateLimitChecker rateLimitChecker;
private final org.kohsuke.github.authorization.AuthorizationProvider authorizationProvider;
private org.kohsuke.github.connector.GitHubConnector connector;
private final java.util.concurrent.atomic.AtomicReference rateLimit;
private static final java.util.logging.Logger LOGGER;
private static final com.fasterxml.jackson.databind.ObjectMapper MAPPER;
static final java.lang.String GITHUB_URL;
private static final java.time.format.DateTimeFormatter DATE_TIME_PARSER_SLASHES;
void <init>(java.lang.String, org.kohsuke.github.connector.GitHubConnector, org.kohsuke.github.GitHubRateLimitHandler, org.kohsuke.github.GitHubAbuseLimitHandler, org.kohsuke.github.GitHubRateLimitChecker, org.kohsuke.github.authorization.AuthorizationProvider) throws java.io.IOException
{
org.kohsuke.github.GitHubRateLimitHandler v;
org.kohsuke.github.GitHubRateLimitChecker v;
org.kohsuke.github.GitHubAbuseLimitHandler v;
org.kohsuke.github.GitHubClient v;
java.util.concurrent.atomic.AtomicReference v;
org.kohsuke.github.connector.GitHubConnector v;
org.kohsuke.github.authorization.AuthorizationProvider v;
int v, v;
java.lang.String v;
org.kohsuke.github.GHRateLimit v;
boolean v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: java.lang.String;
v := @parameter: org.kohsuke.github.connector.GitHubConnector;
v := @parameter: org.kohsuke.github.GitHubRateLimitHandler;
v := @parameter: org.kohsuke.github.GitHubAbuseLimitHandler;
v := @parameter: org.kohsuke.github.GitHubRateLimitChecker;
v := @parameter: org.kohsuke.github.authorization.AuthorizationProvider;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicReference;
v = <org.kohsuke.github.GHRateLimit: org.kohsuke.github.GHRateLimit DEFAULT>;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(v);
v.<org.kohsuke.github.GitHubClient: java.util.concurrent.atomic.AtomicReference rateLimit> = v;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("/");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
if null != v goto label;
v = <org.kohsuke.github.connector.GitHubConnector: org.kohsuke.github.connector.GitHubConnector DEFAULT>;
label:
v.<org.kohsuke.github.GitHubClient: java.lang.String apiUrl> = v;
v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.connector.GitHubConnector connector> = v;
v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.authorization.AuthorizationProvider authorizationProvider> = v;
v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubRateLimitHandler rateLimitHandler> = v;
v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubAbuseLimitHandler abuseLimitHandler> = v;
v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubRateLimitChecker rateLimitChecker> = v;
return;
}
java.lang.String getLogin()
{
org.kohsuke.github.GitHubClient v;
java.io.IOException v;
org.kohsuke.github.authorization.AuthorizationProvider v, v, v;
java.lang.String v, v;
boolean v;
v := @this: org.kohsuke.github.GitHubClient;
label:
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.authorization.AuthorizationProvider authorizationProvider>;
v = v instanceof org.kohsuke.github.authorization.UserAuthorizationProvider;
if v == 0 goto label;
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.authorization.AuthorizationProvider authorizationProvider>;
v = interfaceinvoke v.<org.kohsuke.github.authorization.AuthorizationProvider: java.lang.String getEncodedAuthorization()>();
if v == null goto label;
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.authorization.AuthorizationProvider authorizationProvider>;
v = interfaceinvoke v.<org.kohsuke.github.authorization.UserAuthorizationProvider: java.lang.String getLogin()>();
label:
return v;
label:
v := @caughtexception;
label:
return null;
catch java.io.IOException from label to label with label;
}
private java.lang.Object fetch(java.lang.Class, java.lang.String) throws java.io.IOException
{
org.kohsuke.github.GitHubClient v;
java.lang.String[] v;
org.kohsuke.github.GitHubRequest$Builder v, v, v;
org.kohsuke.github.GitHubClient$BodyHandler v;
org.kohsuke.github.GitHubRequest v;
org.kohsuke.github.GitHubResponse v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v, v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v = staticinvoke <org.kohsuke.github.GitHubRequest: org.kohsuke.github.GitHubRequest$Builder newBuilder()>();
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: java.lang.String getApiUrl()>();
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder withApiUrl(java.lang.String)>(v);
v = newarray (java.lang.String)[0];
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder withUrlPath(java.lang.String,java.lang.String[])>(v, v);
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest build()>();
v = staticinvoke <org.kohsuke.github.GitHubClient$lambda_fetch_0__65: org.kohsuke.github.GitHubClient$BodyHandler bootstrap$(java.lang.Class)>(v);
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubResponse sendRequest(org.kohsuke.github.GitHubRequest,org.kohsuke.github.GitHubClient$BodyHandler)>(v, v);
v = virtualinvoke v.<org.kohsuke.github.GitHubResponse: java.lang.Object body()>();
return v;
}
public boolean isCredentialValid()
{
org.kohsuke.github.GitHubClient v;
java.io.IOException v;
java.lang.String v, v, v;
java.util.logging.Logger v;
java.util.logging.Level v;
v := @this: org.kohsuke.github.GitHubClient;
label:
virtualinvoke v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GHRateLimit getRateLimit()>();
label:
return 1;
label:
v := @caughtexception;
v = <org.kohsuke.github.GitHubClient: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: java.lang.String getApiUrl()>();
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: java.lang.String getLogin()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.io.IOException)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Exception validating credentials on \u with login \'\u0001\' \u0001");
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, v, v);
return 0;
catch java.io.IOException from label to label with label;
}
public boolean isOffline()
{
org.kohsuke.github.GitHubClient v;
org.kohsuke.github.connector.GitHubConnector v, v;
boolean v;
v := @this: org.kohsuke.github.GitHubClient;
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.connector.GitHubConnector connector>;
v = <org.kohsuke.github.connector.GitHubConnector: org.kohsuke.github.connector.GitHubConnector OFFLINE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public org.kohsuke.github.HttpConnector getConnector()
{
java.lang.UnsupportedOperationException v;
org.kohsuke.github.GitHubClient v;
java.util.logging.Logger v;
org.kohsuke.github.connector.GitHubConnector v, v;
boolean v;
v := @this: org.kohsuke.github.GitHubClient;
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.connector.GitHubConnector connector>;
v = v instanceof org.kohsuke.github.HttpConnector;
if v != 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("This GitHubConnector does not support HttpConnector.connect().");
throw v;
label:
v = <org.kohsuke.github.GitHubClient: java.util.logging.Logger LOGGER>;
virtualinvoke v.<java.util.logging.Logger: void warning(java.lang.String)>("HttpConnector and getConnector() are deprecated. Please file an issue describing your use case.");
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.connector.GitHubConnector connector>;
return v;
}
public void setConnector(org.kohsuke.github.connector.GitHubConnector)
{
org.kohsuke.github.GitHubClient v;
java.util.logging.Logger v;
org.kohsuke.github.connector.GitHubConnector v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.connector.GitHubConnector;
v = <org.kohsuke.github.GitHubClient: java.util.logging.Logger LOGGER>;
virtualinvoke v.<java.util.logging.Logger: void warning(java.lang.String)>("Connector should not be changed. Please file an issue describing your use case.");
v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.connector.GitHubConnector connector> = v;
return;
}
public boolean isAnonymous()
{
org.kohsuke.github.GitHubClient v;
java.io.IOException v;
java.lang.String v, v;
boolean v;
org.kohsuke.github.authorization.AuthorizationProvider v;
v := @this: org.kohsuke.github.GitHubClient;
label:
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: java.lang.String getLogin()>();
if v != null goto label;
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.authorization.AuthorizationProvider authorizationProvider>;
v = interfaceinvoke v.<org.kohsuke.github.authorization.AuthorizationProvider: java.lang.String getEncodedAuthorization()>();
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v := @caughtexception;
return 0;
catch java.io.IOException from label to label with label;
}
public org.kohsuke.github.GHRateLimit getRateLimit() throws java.io.IOException
{
org.kohsuke.github.GitHubClient v;
org.kohsuke.github.GHRateLimit v;
org.kohsuke.github.RateLimitTarget v;
v := @this: org.kohsuke.github.GitHubClient;
v = <org.kohsuke.github.RateLimitTarget: org.kohsuke.github.RateLimitTarget NONE>;
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GHRateLimit getRateLimit(org.kohsuke.github.RateLimitTarget)>(v);
return v;
}
java.lang.String getEncodedAuthorization() throws java.io.IOException
{
org.kohsuke.github.GitHubClient v;
java.lang.String v;
org.kohsuke.github.authorization.AuthorizationProvider v;
v := @this: org.kohsuke.github.GitHubClient;
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.authorization.AuthorizationProvider authorizationProvider>;
v = interfaceinvoke v.<org.kohsuke.github.authorization.AuthorizationProvider: java.lang.String getEncodedAuthorization()>();
return v;
}
org.kohsuke.github.GHRateLimit getRateLimit(org.kohsuke.github.RateLimitTarget) throws java.io.IOException
{
java.lang.String[] v;
org.kohsuke.github.GitHubRequest$Builder v, v, v, v;
java.util.logging.Level v;
java.lang.String v;
org.kohsuke.github.GitHubClient v;
java.util.logging.Logger v;
org.kohsuke.github.GitHubClient$BodyHandler v;
java.io.FileNotFoundException v;
org.kohsuke.github.GitHubRequest v;
org.kohsuke.github.GitHubResponse v;
java.lang.Object v;
org.kohsuke.github.GHRateLimit v, v;
org.kohsuke.github.GHRateLimit$Record v;
org.kohsuke.github.RateLimitTarget v, v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.RateLimitTarget;
label:
v = staticinvoke <org.kohsuke.github.GitHubRequest: org.kohsuke.github.GitHubRequest$Builder newBuilder()>();
v = <org.kohsuke.github.RateLimitTarget: org.kohsuke.github.RateLimitTarget NONE>;
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder rateLimit(org.kohsuke.github.RateLimitTarget)>(v);
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: java.lang.String getApiUrl()>();
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder withApiUrl(java.lang.String)>(v);
v = newarray (java.lang.String)[0];
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder withUrlPath(java.lang.String,java.lang.String[])>("/rate_limit", v);
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest build()>();
v = staticinvoke <org.kohsuke.github.GitHubClient$lambda_getRateLimit_1__66: org.kohsuke.github.GitHubClient$BodyHandler bootstrap$()>();
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubResponse sendRequest(org.kohsuke.github.GitHubRequest,org.kohsuke.github.GitHubClient$BodyHandler)>(v, v);
v = virtualinvoke v.<org.kohsuke.github.GitHubResponse: java.lang.Object body()>();
v = v.<org.kohsuke.github.JsonRateLimit: org.kohsuke.github.GHRateLimit resources>;
label:
goto label;
label:
v := @caughtexception;
v = <org.kohsuke.github.GitHubClient: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, "/rate_limit returned 404 Not Found.");
v = staticinvoke <org.kohsuke.github.GHRateLimit$UnknownLimitRecord: org.kohsuke.github.GHRateLimit$Record current()>();
v = staticinvoke <org.kohsuke.github.GHRateLimit: org.kohsuke.github.GHRateLimit fromRecord(org.kohsuke.github.GHRateLimit$Record,org.kohsuke.github.RateLimitTarget)>(v, v);
label:
v = specialinvoke v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GHRateLimit updateRateLimit(org.kohsuke.github.GHRateLimit)>(v);
return v;
catch java.io.FileNotFoundException from label to label with label;
}
org.kohsuke.github.GHRateLimit lastRateLimit()
{
org.kohsuke.github.GitHubClient v;
java.lang.Object v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.kohsuke.github.GitHubClient;
v = v.<org.kohsuke.github.GitHubClient: java.util.concurrent.atomic.AtomicReference rateLimit>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
return v;
}
org.kohsuke.github.GHRateLimit rateLimit(org.kohsuke.github.RateLimitTarget) throws java.io.IOException
{
java.lang.Throwable v;
org.kohsuke.github.GitHubClient v;
java.util.concurrent.atomic.AtomicReference v, v, v;
java.lang.Object v, v;
org.kohsuke.github.GHRateLimit$Record v, v;
org.kohsuke.github.RateLimitTarget v;
boolean v, v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.RateLimitTarget;
v = v.<org.kohsuke.github.GitHubClient: java.util.concurrent.atomic.AtomicReference rateLimit>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.kohsuke.github.GHRateLimit: org.kohsuke.github.GHRateLimit$Record getRecord(org.kohsuke.github.RateLimitTarget)>(v);
v = virtualinvoke v.<org.kohsuke.github.GHRateLimit$Record: boolean isExpired()>();
if v == 0 goto label;
entermonitor v;
label:
v = v.<org.kohsuke.github.GitHubClient: java.util.concurrent.atomic.AtomicReference rateLimit>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.kohsuke.github.GHRateLimit: org.kohsuke.github.GHRateLimit$Record getRecord(org.kohsuke.github.RateLimitTarget)>(v);
v = virtualinvoke v.<org.kohsuke.github.GHRateLimit$Record: boolean isExpired()>();
if v == 0 goto label;
virtualinvoke v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GHRateLimit getRateLimit(org.kohsuke.github.RateLimitTarget)>(v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.kohsuke.github.GitHubClient: java.util.concurrent.atomic.AtomicReference rateLimit>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
label:
return v;
catch java.lang.Throwable from label to label with label;
}
private org.kohsuke.github.GHRateLimit updateRateLimit(org.kohsuke.github.GHRateLimit)
{
org.kohsuke.github.GitHubClient v;
java.util.logging.Logger v;
java.util.concurrent.atomic.AtomicReference v, v;
java.util.function.BinaryOperator v;
java.util.logging.Level v;
java.lang.Object v, v;
org.kohsuke.github.GHRateLimit v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.GHRateLimit;
v = v.<org.kohsuke.github.GitHubClient: java.util.concurrent.atomic.AtomicReference rateLimit>;
v = staticinvoke <org.kohsuke.github.GitHubClient$lambda_updateRateLimit_2__67: java.util.function.BinaryOperator bootstrap$()>();
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object accumulateAndGet(java.lang.Object,java.util.function.BinaryOperator)>(v, v);
v = <org.kohsuke.github.GitHubClient: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINEST>;
v = v.<org.kohsuke.github.GitHubClient: java.util.concurrent.atomic.AtomicReference rateLimit>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "Rate limit now: {0}", v);
return v;
}
public void checkApiUrlValidity() throws java.io.IOException
{
java.lang.Throwable v;
org.kohsuke.github.GitHubClient v;
java.io.IOException v, v;
java.lang.Object v;
java.lang.String v, v, v;
boolean v;
v := @this: org.kohsuke.github.GitHubClient;
label:
v = specialinvoke v.<org.kohsuke.github.GitHubClient: java.lang.Object fetch(java.lang.Class,java.lang.String)>(class "Lorg/kohsuke/github/GitHubClient$GHApiInfo;", "/");
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: java.lang.String getApiUrl()>();
virtualinvoke v.<org.kohsuke.github.GitHubClient$GHApiInfo: void check(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = specialinvoke v.<org.kohsuke.github.GitHubClient: boolean isPrivateModeEnabled()>();
if v == 0 goto label;
v = new java.io.IOException;
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: java.lang.String getApiUrl()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("GitHub Enterprise server (\u) with private mode enabled");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.IOException: java.lang.Throwable initCause(java.lang.Throwable)>(v);
throw v;
label:
throw v;
label:
return;
catch java.io.IOException from label to label with label;
}
public java.lang.String getApiUrl()
{
org.kohsuke.github.GitHubClient v;
java.lang.String v;
v := @this: org.kohsuke.github.GitHubClient;
v = v.<org.kohsuke.github.GitHubClient: java.lang.String apiUrl>;
return v;
}
public org.kohsuke.github.GitHubResponse sendRequest(org.kohsuke.github.GitHubRequest$Builder, org.kohsuke.github.GitHubClient$BodyHandler) throws java.io.IOException
{
org.kohsuke.github.GitHubResponse v;
org.kohsuke.github.GitHubClient v;
org.kohsuke.github.GitHubRequest$Builder v;
org.kohsuke.github.GitHubClient$BodyHandler v;
org.kohsuke.github.GitHubRequest v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.GitHubRequest$Builder;
v := @parameter: org.kohsuke.github.GitHubClient$BodyHandler;
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest build()>();
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubResponse sendRequest(org.kohsuke.github.GitHubRequest,org.kohsuke.github.GitHubClient$BodyHandler)>(v, v);
return v;
}
public org.kohsuke.github.GitHubResponse sendRequest(org.kohsuke.github.GitHubRequest, org.kohsuke.github.GitHubClient$BodyHandler) throws java.io.IOException
{
java.lang.Throwable v;
org.kohsuke.github.connector.GitHubConnectorRequest v, v;
java.net.URL v, v;
org.kohsuke.github.GitHubRateLimitChecker v;
org.kohsuke.github.GitHubClient$RetryRequestException v;
int v;
java.lang.String v, v;
org.kohsuke.github.GHIOException v;
org.kohsuke.github.connector.GitHubConnectorResponse v, v;
boolean v;
org.kohsuke.github.GitHubClient v;
java.io.IOException v, v, v, v;
org.kohsuke.github.GitHubClient$BodyHandler v;
org.kohsuke.github.connector.GitHubConnector v;
org.kohsuke.github.GitHubRequest v;
org.kohsuke.github.GitHubResponse v;
org.kohsuke.github.RateLimitTarget v, v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.GitHubRequest;
v := @parameter: org.kohsuke.github.GitHubClient$BodyHandler;
v = 2;
v = specialinvoke v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.connector.GitHubConnectorRequest prepareConnectorRequest(org.kohsuke.github.GitHubRequest)>(v);
label:
v = null;
label:
specialinvoke v.<org.kohsuke.github.GitHubClient: void logRequest(org.kohsuke.github.connector.GitHubConnectorRequest)>(v);
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubRateLimitChecker rateLimitChecker>;
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: org.kohsuke.github.RateLimitTarget rateLimitTarget()>();
virtualinvoke v.<org.kohsuke.github.GitHubRateLimitChecker: void checkRateLimit(org.kohsuke.github.GitHubClient,org.kohsuke.github.RateLimitTarget)>(v, v);
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.connector.GitHubConnector connector>;
v = interfaceinvoke v.<org.kohsuke.github.connector.GitHubConnector: org.kohsuke.github.connector.GitHubConnectorResponse send(org.kohsuke.github.connector.GitHubConnectorRequest)>(v);
specialinvoke v.<org.kohsuke.github.GitHubClient: void logResponse(org.kohsuke.github.connector.GitHubConnectorResponse)>(v);
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: org.kohsuke.github.RateLimitTarget rateLimitTarget()>();
specialinvoke v.<org.kohsuke.github.GitHubClient: void noteRateLimit(org.kohsuke.github.RateLimitTarget,org.kohsuke.github.connector.GitHubConnectorResponse)>(v, v);
v = v;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
specialinvoke v.<org.kohsuke.github.GitHubClient: void detectKnownErrors(org.kohsuke.github.connector.GitHubConnectorResponse,org.kohsuke.github.GitHubRequest,boolean)>(v, v, v);
v = staticinvoke <org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubResponse createResponse(org.kohsuke.github.connector.GitHubConnectorResponse,org.kohsuke.github.GitHubClient$BodyHandler)>(v, v);
label:
staticinvoke <org.apache.commons.io.IOUtils: void closeQuietly(java.io.Closeable)>(v);
return v;
label:
v := @caughtexception;
if v <= 0 goto label;
v = v.<org.kohsuke.github.GitHubClient$RetryRequestException: org.kohsuke.github.connector.GitHubConnectorRequest connectorRequest>;
if v == null goto label;
v = v.<org.kohsuke.github.GitHubClient$RetryRequestException: org.kohsuke.github.connector.GitHubConnectorRequest connectorRequest>;
label:
staticinvoke <org.apache.commons.io.IOUtils: void closeQuietly(java.io.Closeable)>(v);
goto label;
label:
v := @caughtexception;
if v <= 0 goto label;
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: java.net.URL url()>();
staticinvoke <org.kohsuke.github.GitHubClient: void logRetryConnectionError(java.io.IOException,java.net.URL,int)>(v, v, v);
label:
staticinvoke <org.apache.commons.io.IOUtils: void closeQuietly(java.io.Closeable)>(v);
goto label;
label:
v = staticinvoke <org.kohsuke.github.GitHubClient: java.io.IOException interpretApiError(java.io.IOException,org.kohsuke.github.connector.GitHubConnectorRequest,org.kohsuke.github.connector.GitHubConnectorResponse)>(v, v, v);
throw v;
label:
v := @caughtexception;
v = staticinvoke <org.kohsuke.github.GitHubClient: java.io.IOException interpretApiError(java.io.IOException,org.kohsuke.github.connector.GitHubConnectorRequest,org.kohsuke.github.connector.GitHubConnectorResponse)>(v, v, v);
throw v;
label:
v := @caughtexception;
staticinvoke <org.apache.commons.io.IOUtils: void closeQuietly(java.io.Closeable)>(v);
throw v;
label:
v = v - 1;
if v >= 0 goto label;
v = new org.kohsuke.github.GHIOException;
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: java.net.URL url()>();
v = virtualinvoke v.<java.net.URL: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Ran out of retries for URL: \u0001");
specialinvoke v.<org.kohsuke.github.GHIOException: void <init>(java.lang.String)>(v);
throw v;
catch org.kohsuke.github.GitHubClient$RetryRequestException from label to label with label;
catch java.net.SocketException from label to label with label;
catch java.net.SocketTimeoutException from label to label with label;
catch javax.net.ssl.SSLHandshakeException 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;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void detectKnownErrors(org.kohsuke.github.connector.GitHubConnectorResponse, org.kohsuke.github.GitHubRequest, boolean) throws java.io.IOException
{
org.kohsuke.github.GitHubRateLimitHandler v, v;
org.kohsuke.github.GitHubAbuseLimitHandler v, v;
org.kohsuke.github.GitHubClient v;
org.kohsuke.github.GitHubRequest v;
org.kohsuke.github.GitHubConnectorResponseErrorHandler v, v;
org.kohsuke.github.GitHubClient$RetryRequestException v, v;
org.kohsuke.github.connector.GitHubConnectorResponse v;
boolean v, v, v, v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.connector.GitHubConnectorResponse;
v := @parameter: org.kohsuke.github.GitHubRequest;
v := @parameter: boolean;
staticinvoke <org.kohsuke.github.GitHubClient: void detectOTPRequired(org.kohsuke.github.connector.GitHubConnectorResponse)>(v);
specialinvoke v.<org.kohsuke.github.GitHubClient: void detectInvalidCached404Response(org.kohsuke.github.connector.GitHubConnectorResponse,org.kohsuke.github.GitHubRequest)>(v, v);
specialinvoke v.<org.kohsuke.github.GitHubClient: void detectRedirect(org.kohsuke.github.connector.GitHubConnectorResponse)>(v);
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubRateLimitHandler rateLimitHandler>;
v = virtualinvoke v.<org.kohsuke.github.GitHubRateLimitHandler: boolean isError(org.kohsuke.github.connector.GitHubConnectorResponse)>(v);
if v == 0 goto label;
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubRateLimitHandler rateLimitHandler>;
virtualinvoke v.<org.kohsuke.github.GitHubRateLimitHandler: void onError(org.kohsuke.github.connector.GitHubConnectorResponse)>(v);
v = new org.kohsuke.github.GitHubClient$RetryRequestException;
specialinvoke v.<org.kohsuke.github.GitHubClient$RetryRequestException: void <init>()>();
throw v;
label:
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubAbuseLimitHandler abuseLimitHandler>;
v = virtualinvoke v.<org.kohsuke.github.GitHubAbuseLimitHandler: boolean isError(org.kohsuke.github.connector.GitHubConnectorResponse)>(v);
if v == 0 goto label;
v = v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubAbuseLimitHandler abuseLimitHandler>;
virtualinvoke v.<org.kohsuke.github.GitHubAbuseLimitHandler: void onError(org.kohsuke.github.connector.GitHubConnectorResponse)>(v);
v = new org.kohsuke.github.GitHubClient$RetryRequestException;
specialinvoke v.<org.kohsuke.github.GitHubClient$RetryRequestException: void <init>()>();
throw v;
label:
if v == 0 goto label;
v = <org.kohsuke.github.GitHubConnectorResponseErrorHandler: org.kohsuke.github.GitHubConnectorResponseErrorHandler STATUS_HTTP_BAD_REQUEST_OR_GREATER>;
v = virtualinvoke v.<org.kohsuke.github.GitHubConnectorResponseErrorHandler: boolean isError(org.kohsuke.github.connector.GitHubConnectorResponse)>(v);
if v == 0 goto label;
v = <org.kohsuke.github.GitHubConnectorResponseErrorHandler: org.kohsuke.github.GitHubConnectorResponseErrorHandler STATUS_HTTP_BAD_REQUEST_OR_GREATER>;
virtualinvoke v.<org.kohsuke.github.GitHubConnectorResponseErrorHandler: void onError(org.kohsuke.github.connector.GitHubConnectorResponse)>(v);
label:
return;
}
private void detectRedirect(org.kohsuke.github.connector.GitHubConnectorResponse) throws java.io.IOException
{
org.kohsuke.github.HttpException v;
org.kohsuke.github.connector.GitHubConnectorRequest v;
java.net.URL v;
org.kohsuke.github.GitHubClient v;
int v, v, v;
java.lang.String v;
org.kohsuke.github.connector.GitHubConnectorResponse v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.connector.GitHubConnectorResponse;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: int statusCode()>();
if v == 301 goto label;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: int statusCode()>();
if v != 302 goto label;
label:
v = new org.kohsuke.github.HttpException;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: int statusCode()>();
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: org.kohsuke.github.connector.GitHubConnectorRequest request()>();
v = interfaceinvoke v.<org.kohsuke.github.connector.GitHubConnectorRequest: java.net.URL url()>();
v = virtualinvoke v.<java.net.URL: java.lang.String toString()>();
specialinvoke v.<org.kohsuke.github.HttpException: void <init>(java.lang.String,int,java.lang.String,java.lang.String)>("GitHubConnnector did not automatically follow redirect.\nChange your http client configuration to automatically follow redirects as appropriate.", v, "Redirect", v);
throw v;
label:
return;
}
private org.kohsuke.github.connector.GitHubConnectorRequest prepareConnectorRequest(org.kohsuke.github.GitHubRequest) throws java.io.IOException
{
byte[] v;
java.util.HashMap v;
org.kohsuke.github.GitHubRequest$Builder v;
java.io.ByteArrayInputStream v;
java.util.Map v;
java.lang.String v, v, v, v, v;
boolean v, v, v;
java.util.Iterator v;
com.fasterxml.jackson.databind.ObjectWriter v;
org.kohsuke.github.GitHubClient v;
org.kohsuke.github.GitHubRequest v, v;
java.util.List v;
java.lang.Object v, v;
java.io.InputStream v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.GitHubRequest;
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: org.kohsuke.github.GitHubRequest$Builder toBuilder()>();
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: java.util.Map allHeaders()>();
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("Authorization");
if v != 0 goto label;
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: java.lang.String getEncodedAuthorization()>();
if v == null goto label;
virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder setHeader(java.lang.String,java.lang.String)>("Authorization", v);
label:
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: java.lang.String header(java.lang.String)>("Accept");
if v != null goto label;
virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder setHeader(java.lang.String,java.lang.String)>("Accept", "application/vnd.github.v+json");
label:
virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder setHeader(java.lang.String,java.lang.String)>("Accept-Encoding", "gzip");
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: boolean hasBody()>();
if v == 0 goto label;
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: java.io.InputStream body()>();
if v == null goto label;
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: java.lang.String contentType()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String defaultString(java.lang.String,java.lang.String)>(v, "application/x-www-form-urlencoded");
virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder contentType(java.lang.String)>(v);
goto label;
label:
virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder contentType(java.lang.String)>("application/json");
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: java.util.List args()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.kohsuke.github.GitHubRequest$Entry: java.lang.String key>;
v = v.<org.kohsuke.github.GitHubRequest$Entry: java.lang.Object value>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = new java.io.ByteArrayInputStream;
v = staticinvoke <org.kohsuke.github.GitHubClient: com.fasterxml.jackson.databind.ObjectWriter getMappingObjectWriter()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectWriter: byte[] writeValueAsBytes(java.lang.Object)>(v);
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder 'with'(java.io.InputStream)>(v);
label:
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest build()>();
return v;
}
private void logRequest(org.kohsuke.github.connector.GitHubConnectorRequest)
{
org.kohsuke.github.connector.GitHubConnectorRequest v;
org.kohsuke.github.GitHubClient v;
java.util.logging.Logger v;
java.util.function.Supplier v;
java.util.logging.Level v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.connector.GitHubConnectorRequest;
v = <org.kohsuke.github.GitHubClient: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = staticinvoke <org.kohsuke.github.GitHubClient$lambda_logRequest_3__68: java.util.function.Supplier bootstrap$(org.kohsuke.github.GitHubClient,org.kohsuke.github.connector.GitHubConnectorRequest)>(v, v);
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.util.function.Supplier)>(v, v);
return;
}
private void logResponse(org.kohsuke.github.connector.GitHubConnectorResponse)
{
org.kohsuke.github.GitHubClient v;
java.util.logging.Logger v;
org.kohsuke.github.connector.GitHubConnectorResponse v;
java.util.function.Supplier v;
java.util.logging.Level v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.connector.GitHubConnectorResponse;
v = <org.kohsuke.github.GitHubClient: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = staticinvoke <org.kohsuke.github.GitHubClient$lambda_logResponse_4__69: java.util.function.Supplier bootstrap$(org.kohsuke.github.GitHubClient,org.kohsuke.github.connector.GitHubConnectorResponse)>(v, v);
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.util.function.Supplier)>(v, v);
return;
}
private static org.kohsuke.github.GitHubResponse createResponse(org.kohsuke.github.connector.GitHubConnectorResponse, org.kohsuke.github.GitHubClient$BodyHandler) throws java.io.IOException
{
org.kohsuke.github.GitHubResponse v;
java.lang.Object v;
org.kohsuke.github.GitHubClient$BodyHandler v;
org.kohsuke.github.connector.GitHubConnectorResponse v;
boolean v;
v := @parameter: org.kohsuke.github.connector.GitHubConnectorResponse;
v := @parameter: org.kohsuke.github.GitHubClient$BodyHandler;
v = null;
if v == null goto label;
v = staticinvoke <org.kohsuke.github.GitHubClient: boolean shouldIgnoreBody(org.kohsuke.github.connector.GitHubConnectorResponse)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<org.kohsuke.github.GitHubClient$BodyHandler: java.lang.Object apply(java.lang.Object)>(v);
label:
v = new org.kohsuke.github.GitHubResponse;
specialinvoke v.<org.kohsuke.github.GitHubResponse: void <init>(org.kohsuke.github.connector.GitHubConnectorResponse,java.lang.Object)>(v, v);
return v;
}
private static boolean shouldIgnoreBody(org.kohsuke.github.connector.GitHubConnectorResponse)
{
org.kohsuke.github.connector.GitHubConnectorRequest v;
java.net.URL v;
java.util.logging.Logger v;
java.util.logging.Level v;
int v, v;
java.lang.String v, v;
org.kohsuke.github.connector.GitHubConnectorResponse v;
v := @parameter: org.kohsuke.github.connector.GitHubConnectorResponse;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: int statusCode()>();
if v != 304 goto label;
return 1;
label:
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: int statusCode()>();
if v != 202 goto label;
v = <org.kohsuke.github.GitHubClient: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: org.kohsuke.github.connector.GitHubConnectorRequest request()>();
v = interfaceinvoke v.<org.kohsuke.github.connector.GitHubConnectorRequest: java.net.URL url()>();
v = virtualinvoke v.<java.net.URL: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Received HTTP_ACCEPTED(202) from \u . Please try again in 5 seconds.");
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, v);
return 1;
label:
return 0;
}
private static java.io.IOException interpretApiError(java.io.IOException, org.kohsuke.github.connector.GitHubConnectorRequest, org.kohsuke.github.connector.GitHubConnectorResponse) throws java.io.IOException
{
org.kohsuke.github.connector.GitHubConnectorRequest v;
java.net.URL v, v;
java.util.HashMap v;
org.kohsuke.github.GHFileNotFoundException v;
java.util.Map v;
int v, v, v;
java.lang.String v, v, v, v, v, v;
org.kohsuke.github.GHIOException v;
org.kohsuke.github.connector.GitHubConnectorResponse v;
boolean v, v, v;
org.kohsuke.github.HttpException v, v;
java.io.IOException v;
v := @parameter: java.io.IOException;
v := @parameter: org.kohsuke.github.connector.GitHubConnectorRequest;
v := @parameter: org.kohsuke.github.connector.GitHubConnectorResponse;
v = v instanceof org.kohsuke.github.GHIOException;
if v == 0 goto label;
return v;
label:
v = (int) -1;
v = v;
v = null;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = v;
v = null;
if v == null goto label;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: int statusCode()>();
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: java.lang.String header(java.lang.String)>("Status");
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: java.util.Map allHeaders()>();
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: int statusCode()>();
if v < 400 goto label;
v = staticinvoke <org.kohsuke.github.GitHubResponse: java.lang.String getBodyAsStringOrNull(org.kohsuke.github.connector.GitHubConnectorResponse)>(v);
label:
if v == null goto label;
v = v instanceof java.io.FileNotFoundException;
if v == 0 goto label;
v = new org.kohsuke.github.GHFileNotFoundException;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u \u0001");
specialinvoke v.<org.kohsuke.github.GHFileNotFoundException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
v = virtualinvoke v.<org.kohsuke.github.GHFileNotFoundException: org.kohsuke.github.GHFileNotFoundException withResponseHeaderFields(java.util.Map)>(v);
goto label;
label:
if v < 0 goto label;
v = new org.kohsuke.github.HttpException;
v = interfaceinvoke v.<org.kohsuke.github.connector.GitHubConnectorRequest: java.net.URL url()>();
v = virtualinvoke v.<java.net.URL: java.lang.String toString()>();
specialinvoke v.<org.kohsuke.github.HttpException: void <init>(java.lang.String,int,java.lang.String,java.lang.String,java.lang.Throwable)>(v, v, v, v, v);
v = v;
goto label;
label:
v = new org.kohsuke.github.GHIOException;
specialinvoke v.<org.kohsuke.github.GHIOException: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.kohsuke.github.GHIOException: org.kohsuke.github.GHIOException withResponseHeaderFields(java.util.Map)>(v);
goto label;
label:
v = v instanceof java.io.FileNotFoundException;
if v != 0 goto label;
v = new org.kohsuke.github.HttpException;
v = interfaceinvoke v.<org.kohsuke.github.connector.GitHubConnectorRequest: java.net.URL url()>();
v = virtualinvoke v.<java.net.URL: java.lang.String toString()>();
specialinvoke v.<org.kohsuke.github.HttpException: void <init>(int,java.lang.String,java.lang.String,java.lang.Throwable)>(v, v, v, v);
v = v;
label:
return v;
}
private static void logRetryConnectionError(java.io.IOException, java.net.URL, int) throws java.io.IOException
{
java.lang.Throwable v;
java.net.URL v;
java.io.IOException v;
java.util.logging.Logger v;
java.io.InterruptedIOException v;
java.util.logging.Level v;
java.lang.InterruptedException v;
int v;
java.lang.String v, v;
v := @parameter: java.io.IOException;
v := @parameter: java.net.URL;
v := @parameter: int;
v = <org.kohsuke.github.GitHubClient: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.net.URL,int)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u while connecting to \u. Sleeping 100 milliseconds before retrying... ; will try \u more time(s)");
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, v);
label:
staticinvoke <java.lang.Thread: void sleep(long)>(100L);
label:
goto label;
label:
v := @caughtexception;
v = new java.io.InterruptedIOException;
specialinvoke v.<java.io.InterruptedIOException: void <init>()>();
v = virtualinvoke v.<java.io.InterruptedIOException: java.lang.Throwable initCause(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
private void detectInvalidCached404Response(org.kohsuke.github.connector.GitHubConnectorResponse, org.kohsuke.github.GitHubRequest) throws java.io.IOException
{
org.kohsuke.github.connector.GitHubConnectorRequest v, v, v, v;
java.net.URL v;
org.kohsuke.github.GitHubRequest$Builder v, v;
java.util.logging.Level v;
org.kohsuke.github.GitHubClient$RetryRequestException v;
int v;
java.lang.String v, v, v, v;
org.kohsuke.github.connector.GitHubConnectorResponse v;
boolean v, v;
org.kohsuke.github.GitHubClient v;
java.util.logging.Logger v;
org.kohsuke.github.GitHubRequest v, v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.connector.GitHubConnectorResponse;
v := @parameter: org.kohsuke.github.GitHubRequest;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: int statusCode()>();
if v != 404 goto label;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: org.kohsuke.github.connector.GitHubConnectorRequest request()>();
v = interfaceinvoke v.<org.kohsuke.github.connector.GitHubConnectorRequest: java.lang.String method()>();
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, "GET");
if v == 0 goto label;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: java.lang.String header(java.lang.String)>("ETag");
if v == null goto label;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: org.kohsuke.github.connector.GitHubConnectorRequest request()>();
v = interfaceinvoke v.<org.kohsuke.github.connector.GitHubConnectorRequest: java.lang.String header(java.lang.String)>("Cache-Control");
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, "no-cache");
if v != 0 goto label;
v = <org.kohsuke.github.GitHubClient: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: org.kohsuke.github.connector.GitHubConnectorRequest request()>();
v = interfaceinvoke v.<org.kohsuke.github.connector.GitHubConnectorRequest: java.net.URL url()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.net.URL)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Encountered GitHub invalid cached 404 from \u. Retrying with \"Cache-Control\"=\"no-cache\"...");
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, v);
v = new org.kohsuke.github.GitHubClient$RetryRequestException;
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: org.kohsuke.github.GitHubRequest$Builder toBuilder()>();
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder setHeader(java.lang.String,java.lang.String)>("Cache-Control", "no-cache");
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest build()>();
v = specialinvoke v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.connector.GitHubConnectorRequest prepareConnectorRequest(org.kohsuke.github.GitHubRequest)>(v);
specialinvoke v.<org.kohsuke.github.GitHubClient$RetryRequestException: void <init>(org.kohsuke.github.connector.GitHubConnectorRequest)>(v);
throw v;
label:
return;
}
private void noteRateLimit(org.kohsuke.github.RateLimitTarget, org.kohsuke.github.connector.GitHubConnectorResponse)
{
org.kohsuke.github.GitHubClient v;
java.lang.NumberFormatException v;
java.util.logging.Logger v;
java.util.logging.Level v;
int v, v, v;
org.kohsuke.github.GHRateLimit v;
org.kohsuke.github.GHRateLimit$Record v;
org.kohsuke.github.RateLimitTarget v;
org.kohsuke.github.connector.GitHubConnectorResponse v;
v := @this: org.kohsuke.github.GitHubClient;
v := @parameter: org.kohsuke.github.RateLimitTarget;
v := @parameter: org.kohsuke.github.connector.GitHubConnectorResponse;
label:
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: int parseInt(java.lang.String)>("X-RateLimit-Limit");
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: int parseInt(java.lang.String)>("X-RateLimit-Remaining");
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: int parseInt(java.lang.String)>("X-RateLimit-Reset");
v = new org.kohsuke.github.GHRateLimit$Record;
specialinvoke v.<org.kohsuke.github.GHRateLimit$Record: void <init>(int,int,long,org.kohsuke.github.connector.GitHubConnectorResponse)>(v, v, v, v);
v = staticinvoke <org.kohsuke.github.GHRateLimit: org.kohsuke.github.GHRateLimit fromRecord(org.kohsuke.github.GHRateLimit$Record,org.kohsuke.github.RateLimitTarget)>(v, v);
specialinvoke v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GHRateLimit updateRateLimit(org.kohsuke.github.GHRateLimit)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.kohsuke.github.GitHubClient: java.util.logging.Logger LOGGER>;
v = <java.util.logging.Level: java.util.logging.Level FINEST>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "Missing or malformed X-RateLimit header: ", v);
label:
return;
catch java.lang.NumberFormatException from label to label with label;
}
private static void detectOTPRequired(org.kohsuke.github.connector.GitHubConnectorResponse) throws org.kohsuke.github.GHIOException
{
java.util.Map v;
int v;
org.kohsuke.github.GHOTPRequiredException v;
java.lang.String v;
org.kohsuke.github.GHIOException v;
org.kohsuke.github.connector.GitHubConnectorResponse v;
v := @parameter: org.kohsuke.github.connector.GitHubConnectorResponse;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: int statusCode()>();
if v != 401 goto label;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: java.lang.String header(java.lang.String)>("X-GitHub-OTP");
if v == null goto label;
v = new org.kohsuke.github.GHOTPRequiredException;
specialinvoke v.<org.kohsuke.github.GHOTPRequiredException: void <init>()>();
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: java.util.Map allHeaders()>();
v = virtualinvoke v.<org.kohsuke.github.GHOTPRequiredException: org.kohsuke.github.GHIOException withResponseHeaderFields(java.util.Map)>(v);
throw v;
label:
return;
}
void requireCredential()
{
java.lang.IllegalStateException v;
org.kohsuke.github.GitHubClient v;
boolean v;
v := @this: org.kohsuke.github.GitHubClient;
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: boolean isAnonymous()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("This operation requires a credential but none is given to the GitHub constructor");
throw v;
label:
return;
}
private boolean isPrivateModeEnabled()
{
org.kohsuke.github.GitHubClient v;
java.io.IOException v;
org.kohsuke.github.GitHubRequest$Builder v, v;
int v;
org.kohsuke.github.GitHubResponse v;
java.lang.String v, v;
boolean v;
v := @this: org.kohsuke.github.GitHubClient;
label:
v = staticinvoke <org.kohsuke.github.GitHubRequest: org.kohsuke.github.GitHubRequest$Builder newBuilder()>();
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: java.lang.String getApiUrl()>();
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest$Builder: org.kohsuke.github.GitHubRequest$Builder withApiUrl(java.lang.String)>(v);
v = virtualinvoke v.<org.kohsuke.github.GitHubClient: org.kohsuke.github.GitHubResponse sendRequest(org.kohsuke.github.GitHubRequest$Builder,org.kohsuke.github.GitHubClient$BodyHandler)>(v, null);
v = virtualinvoke v.<org.kohsuke.github.GitHubResponse: int statusCode()>();
if v != 401 goto label;
v = virtualinvoke v.<org.kohsuke.github.GitHubResponse: java.lang.String header(java.lang.String)>("X-GitHub-Media-Type");
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v := @caughtexception;
return 0;
catch java.io.IOException from label to label with label;
}
static java.net.URL parseURL(java.lang.String)
{
java.lang.IllegalStateException v;
java.net.MalformedURLException v;
java.net.URL v;
java.lang.String v, v;
v := @parameter: java.lang.String;
label:
if v != null goto label;
v = null;
goto label;
label:
v = new java.net.URL;
specialinvoke v.<java.net.URL: void <init>(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid URL: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
catch java.net.MalformedURLException from label to label with label;
}
static java.util.Date parseDate(java.lang.String)
{
java.lang.String v;
java.time.Instant v;
java.util.Date v;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = staticinvoke <org.kohsuke.github.GitHubClient: java.time.Instant parseInstant(java.lang.String)>(v);
v = staticinvoke <java.util.Date: java.util.Date 'from'(java.time.Instant)>(v);
return v;
}
static java.time.Instant parseInstant(java.lang.String)
{
char v;
java.time.Instant v, v;
java.time.temporal.TemporalAccessor v, v;
java.time.format.DateTimeFormatter v, v;
java.lang.String v;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(4);
if v != 47 goto label;
v = <org.kohsuke.github.GitHubClient: java.time.format.DateTimeFormatter DATE_TIME_PARSER_SLASHES>;
v = virtualinvoke v.<java.time.format.DateTimeFormatter: java.time.temporal.TemporalAccessor parse(java.lang.CharSequence)>(v);
v = staticinvoke <java.time.Instant: java.time.Instant 'from'(java.time.temporal.TemporalAccessor)>(v);
return v;
label:
v = <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ISO_OFFSET_DATE_TIME>;
v = virtualinvoke v.<java.time.format.DateTimeFormatter: java.time.temporal.TemporalAccessor parse(java.lang.CharSequence)>(v);
v = staticinvoke <java.time.Instant: java.time.Instant 'from'(java.time.temporal.TemporalAccessor)>(v);
return v;
}
static java.lang.String printDate(java.util.Date)
{
java.time.temporal.ChronoUnit v;
java.util.Date v;
java.time.format.DateTimeFormatter v;
long v;
java.lang.String v;
java.time.Instant v, v;
v := @parameter: java.util.Date;
v = <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ISO_INSTANT>;
v = virtualinvoke v.<java.util.Date: long getTime()>();
v = staticinvoke <java.time.Instant: java.time.Instant ofEpochMilli(long)>(v);
v = <java.time.temporal.ChronoUnit: java.time.temporal.ChronoUnit SECONDS>;
v = virtualinvoke v.<java.time.Instant: java.time.Instant truncatedTo(java.time.temporal.TemporalUnit)>(v);
v = virtualinvoke v.<java.time.format.DateTimeFormatter: java.lang.String format(java.time.temporal.TemporalAccessor)>(v);
return v;
}
static com.fasterxml.jackson.databind.ObjectWriter getMappingObjectWriter()
{
com.fasterxml.jackson.databind.ObjectMapper v;
com.fasterxml.jackson.databind.ObjectWriter v;
v = <org.kohsuke.github.GitHubClient: com.fasterxml.jackson.databind.ObjectMapper MAPPER>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectWriter writer()>();
return v;
}
static com.fasterxml.jackson.databind.ObjectReader getMappingObjectReader(org.kohsuke.github.GitHub)
{
com.fasterxml.jackson.databind.ObjectReader v;
com.fasterxml.jackson.databind.InjectableValues v;
org.kohsuke.github.connector.GitHubConnectorResponse v;
org.kohsuke.github.GitHub v;
v := @parameter: org.kohsuke.github.GitHub;
v = null;
v = staticinvoke <org.kohsuke.github.GitHubClient: com.fasterxml.jackson.databind.ObjectReader getMappingObjectReader(org.kohsuke.github.connector.GitHubConnectorResponse)>(v);
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectReader: com.fasterxml.jackson.databind.InjectableValues getInjectableValues()>();
virtualinvoke v.<com.fasterxml.jackson.databind.InjectableValues$Std: com.fasterxml.jackson.databind.InjectableValues$Std addValue(java.lang.Class,java.lang.Object)>(class "Lorg/kohsuke/github/GitHub;", v);
return v;
}
static com.fasterxml.jackson.databind.ObjectReader getMappingObjectReader(org.kohsuke.github.connector.GitHubConnectorResponse)
{
org.kohsuke.github.connector.GitHubConnectorRequest v, v;
com.fasterxml.jackson.databind.ObjectMapper v;
com.fasterxml.jackson.databind.InjectableValues$Std v;
java.util.HashMap v;
com.fasterxml.jackson.databind.ObjectReader v;
java.util.Map v;
java.lang.Class v, v, v;
java.lang.String v, v, v;
org.kohsuke.github.connector.GitHubConnectorResponse v;
boolean v;
v := @parameter: org.kohsuke.github.connector.GitHubConnectorResponse;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = class "Lorg/kohsuke/github/connector/GitHubConnectorResponse;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, null);
v = class "Lorg/kohsuke/github/GitHub;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, null);
if v == null goto label;
v = class "Lorg/kohsuke/github/connector/GitHubConnectorResponse;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: org.kohsuke.github.connector.GitHubConnectorRequest request()>();
v = v instanceof org.kohsuke.github.GitHubRequest;
if v == 0 goto label;
v = virtualinvoke v.<org.kohsuke.github.connector.GitHubConnectorResponse: org.kohsuke.github.connector.GitHubConnectorRequest request()>();
v = virtualinvoke v.<org.kohsuke.github.GitHubRequest: java.util.Map injectedMappingValues()>();
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
label:
v = <org.kohsuke.github.GitHubClient: com.fasterxml.jackson.databind.ObjectMapper MAPPER>;
v = new com.fasterxml.jackson.databind.InjectableValues$Std;
specialinvoke v.<com.fasterxml.jackson.databind.InjectableValues$Std: void <init>(java.util.Map)>(v);
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectReader reader(com.fasterxml.jackson.databind.InjectableValues)>(v);
return v;
}
static java.util.Map unmodifiableMapOrNull(java.util.Map)
{
java.util.Map v, v;
v := @parameter: java.util.Map;
if v != null goto label;
v = null;
goto label;
label:
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
label:
return v;
}
static java.util.List unmodifiableListOrNull(java.util.List)
{
java.util.List v, v;
v := @parameter: java.util.List;
if v != null goto label;
v = null;
goto label;
label:
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
label:
return v;
}
static void <clinit>()
{
com.fasterxml.jackson.databind.DeserializationFeature v;
com.fasterxml.jackson.databind.MapperFeature v;
java.lang.String v;
com.fasterxml.jackson.databind.introspect.VisibilityChecker$Std v;
com.fasterxml.jackson.databind.PropertyNamingStrategy v;
com.fasterxml.jackson.databind.ObjectMapper v, v, v, v, v;
java.util.logging.Logger v;
com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility v, v, v, v, v;
java.time.format.DateTimeFormatter v;
java.lang.Class v;
v = class "Lorg/kohsuke/github/GitHubClient;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String)>(v);
<org.kohsuke.github.GitHubClient: java.util.logging.Logger LOGGER> = v;
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
<org.kohsuke.github.GitHubClient: com.fasterxml.jackson.databind.ObjectMapper MAPPER> = v;
v = staticinvoke <java.time.format.DateTimeFormatter: java.time.format.DateTimeFormatter ofPattern(java.lang.String)>("yyyy/MM/dd HH:mm:ss Z");
<org.kohsuke.github.GitHubClient: java.time.format.DateTimeFormatter DATE_TIME_PARSER_SLASHES> = v;
v = <org.kohsuke.github.GitHubClient: com.fasterxml.jackson.databind.ObjectMapper MAPPER>;
v = new com.fasterxml.jackson.databind.introspect.VisibilityChecker$Std;
v = <com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility: com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility NONE>;
v = <com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility: com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility NONE>;
v = <com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility: com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility NONE>;
v = <com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility: com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility NONE>;
v = <com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility: com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility ANY>;
specialinvoke v.<com.fasterxml.jackson.databind.introspect.VisibilityChecker$Std: void <init>(com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility,com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility,com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility,com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility,com.fasterxml.jackson.'annotation'.JsonAutoDetect$Visibility)>(v, v, v, v, v);
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectMapper setVisibility(com.fasterxml.jackson.databind.introspect.VisibilityChecker)>(v);
v = <org.kohsuke.github.GitHubClient: com.fasterxml.jackson.databind.ObjectMapper MAPPER>;
v = <com.fasterxml.jackson.databind.DeserializationFeature: com.fasterxml.jackson.databind.DeserializationFeature FAIL_ON_UNKNOWN_PROPERTIES>;
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectMapper configure(com.fasterxml.jackson.databind.DeserializationFeature,boolean)>(v, 0);
v = <org.kohsuke.github.GitHubClient: com.fasterxml.jackson.databind.ObjectMapper MAPPER>;
v = <com.fasterxml.jackson.databind.MapperFeature: com.fasterxml.jackson.databind.MapperFeature ACCEPT_CASE_INSENSITIVE_ENUMS>;
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectMapper configure(com.fasterxml.jackson.databind.MapperFeature,boolean)>(v, 1);
v = <org.kohsuke.github.GitHubClient: com.fasterxml.jackson.databind.ObjectMapper MAPPER>;
v = <com.fasterxml.jackson.databind.PropertyNamingStrategy: com.fasterxml.jackson.databind.PropertyNamingStrategy SNAKE_CASE>;
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectMapper setPropertyNamingStrategy(com.fasterxml.jackson.databind.PropertyNamingStrategy)>(v);
return;
}
}