public class io.vertx.ext.web.client.impl.OAuth2AwareInterceptor extends java.lang.Object implements io.vertx.core.Handler
{
private final java.util.Set dejaVu;
private final io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient;
public void <init>(io.vertx.ext.web.client.impl.Oauth2WebClientAware)
{
io.vertx.ext.web.client.impl.Oauth2WebClientAware v;
java.util.HashSet v;
io.vertx.ext.web.client.impl.OAuth2AwareInterceptor v;
v := @this: io.vertx.ext.web.client.impl.OAuth2AwareInterceptor;
v := @parameter: io.vertx.ext.web.client.impl.Oauth2WebClientAware;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: java.util.Set dejaVu> = v;
v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient> = v;
return;
}
public void handle(io.vertx.ext.web.client.impl.HttpContext)
{
io.vertx.ext.web.client.impl.OAuth2AwareInterceptor v;
io.vertx.core.Future v, v;
io.vertx.ext.web.client.impl.ClientPhase v;
int[] v;
int v, v;
io.vertx.core.Handler v, v;
io.vertx.ext.web.client.impl.HttpContext v;
v := @this: io.vertx.ext.web.client.impl.OAuth2AwareInterceptor;
v := @parameter: io.vertx.ext.web.client.impl.HttpContext;
v = <io.vertx.ext.web.client.impl.OAuth2AwareInterceptor$1: int[] $SwitchMap$io$vertx$ext$web$client$impl$ClientPhase>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.HttpContext: io.vertx.ext.web.client.impl.ClientPhase phase()>();
v = virtualinvoke v.<io.vertx.ext.web.client.impl.ClientPhase: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = specialinvoke v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.core.Future createRequest(io.vertx.ext.web.client.impl.HttpContext)>(v);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.ext.web.client.impl.OAuth2AwareInterceptor$fail__818: io.vertx.core.Handler bootstrap$(io.vertx.ext.web.client.impl.HttpContext)>(v);
v = interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onFailure(io.vertx.core.Handler)>(v);
v = staticinvoke <io.vertx.ext.web.client.impl.OAuth2AwareInterceptor$lambda_handle_0__819: io.vertx.core.Handler bootstrap$(io.vertx.ext.web.client.impl.HttpContext)>(v);
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onSuccess(io.vertx.core.Handler)>(v);
goto label;
label:
specialinvoke v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: void processResponse(io.vertx.ext.web.client.impl.HttpContext)>(v);
goto label;
label:
virtualinvoke v.<io.vertx.ext.web.client.impl.HttpContext: void next()>();
label:
return;
}
private void processResponse(io.vertx.ext.web.client.impl.HttpContext)
{
io.vertx.ext.web.client.impl.Oauth2WebClientAware v, v, v;
io.vertx.ext.web.client.HttpResponse v;
int v;
io.vertx.ext.auth.authentication.Credentials v;
boolean v, v;
java.util.Set v, v, v, v;
io.vertx.ext.web.client.impl.OAuth2AwareInterceptor v;
io.vertx.core.Future v, v;
io.vertx.ext.auth.oauth.OAuth2Auth v;
io.vertx.core.Handler v, v;
io.vertx.ext.web.client.impl.HttpContext v;
v := @this: io.vertx.ext.web.client.impl.OAuth2AwareInterceptor;
v := @parameter: io.vertx.ext.web.client.impl.HttpContext;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.HttpContext: io.vertx.ext.web.client.HttpResponse response()>();
v = interfaceinvoke v.<io.vertx.ext.web.client.HttpResponse: int statusCode()>();
lookupswitch(v)
{
case 401: goto label;
default: goto label;
};
label:
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.Oauth2WebClientAware: boolean isRenewTokenOnForbidden()>();
if v == 0 goto label;
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: java.util.Set dejaVu>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: java.util.Set dejaVu>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
virtualinvoke v.<io.vertx.ext.web.client.impl.HttpContext: void next()>();
goto label;
label:
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: java.util.Set dejaVu>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.Oauth2WebClientAware: io.vertx.ext.auth.oauth.OAuth2Auth oauth2Auth()>();
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.Oauth2WebClientAware: io.vertx.ext.auth.authentication.Credentials getCredentials()>();
v = interfaceinvoke v.<io.vertx.ext.auth.oauth.OAuth2Auth: io.vertx.core.Future authenticate(io.vertx.ext.auth.authentication.Credentials)>(v);
v = staticinvoke <io.vertx.ext.web.client.impl.OAuth2AwareInterceptor$lambda_processResponse_1__820: io.vertx.core.Handler bootstrap$(io.vertx.ext.web.client.impl.OAuth2AwareInterceptor,io.vertx.ext.web.client.impl.HttpContext)>(v, v);
v = interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onSuccess(io.vertx.core.Handler)>(v);
v = staticinvoke <io.vertx.ext.web.client.impl.OAuth2AwareInterceptor$lambda_processResponse_2__821: io.vertx.core.Handler bootstrap$(io.vertx.ext.web.client.impl.OAuth2AwareInterceptor,io.vertx.ext.web.client.impl.HttpContext)>(v, v);
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onFailure(io.vertx.core.Handler)>(v);
goto label;
label:
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: java.util.Set dejaVu>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
virtualinvoke v.<io.vertx.ext.web.client.impl.HttpContext: void next()>();
label:
return;
}
private io.vertx.core.Future createRequest(io.vertx.ext.web.client.impl.HttpContext)
{
io.vertx.core.http.RequestOptions v;
io.vertx.core.json.JsonObject v;
boolean v;
java.lang.CharSequence v;
io.vertx.core.Future v, v, v, v, v;
io.vertx.ext.auth.User v, v, v, v;
io.vertx.ext.auth.oauth.OAuth2Auth v, v;
io.vertx.ext.web.client.impl.Oauth2WebClientAware v, v, v, v, v, v, v, v, v;
int v;
java.lang.String v, v;
io.vertx.ext.auth.authentication.Credentials v, v;
io.vertx.core.Promise v;
io.vertx.ext.web.client.impl.OAuth2AwareInterceptor v;
io.vertx.core.Handler v, v, v, v;
io.vertx.ext.web.client.impl.HttpContext v;
v := @this: io.vertx.ext.web.client.impl.OAuth2AwareInterceptor;
v := @parameter: io.vertx.ext.web.client.impl.HttpContext;
v = staticinvoke <io.vertx.core.Promise: io.vertx.core.Promise promise()>();
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.Oauth2WebClientAware: io.vertx.ext.auth.authentication.Credentials getCredentials()>();
if v == null goto label;
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.Oauth2WebClientAware: io.vertx.ext.auth.User getUser()>();
if v == null goto label;
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.Oauth2WebClientAware: io.vertx.ext.auth.User getUser()>();
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.Oauth2WebClientAware: int getLeeway()>();
v = interfaceinvoke v.<io.vertx.ext.auth.User: boolean expired(int)>(v);
if v == 0 goto label;
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.Oauth2WebClientAware: io.vertx.ext.auth.oauth.OAuth2Auth oauth2Auth()>();
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.Oauth2WebClientAware: io.vertx.ext.auth.User getUser()>();
v = interfaceinvoke v.<io.vertx.ext.auth.oauth.OAuth2Auth: io.vertx.core.Future refresh(io.vertx.ext.auth.User)>(v);
v = staticinvoke <io.vertx.ext.web.client.impl.OAuth2AwareInterceptor$lambda_createRequest_3__824: io.vertx.core.Handler bootstrap$(io.vertx.ext.web.client.impl.OAuth2AwareInterceptor,io.vertx.ext.web.client.impl.HttpContext,io.vertx.core.Promise)>(v, v, v);
v = interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onSuccess(io.vertx.core.Handler)>(v);
v = staticinvoke <io.vertx.ext.web.client.impl.OAuth2AwareInterceptor$lambda_createRequest_6__825: io.vertx.core.Handler bootstrap$(io.vertx.ext.web.client.impl.OAuth2AwareInterceptor,io.vertx.ext.web.client.impl.HttpContext,io.vertx.core.Promise)>(v, v, v);
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onFailure(io.vertx.core.Handler)>(v);
goto label;
label:
v = virtualinvoke v.<io.vertx.ext.web.client.impl.HttpContext: io.vertx.core.http.RequestOptions requestOptions()>();
v = <io.vertx.core.http.HttpHeaders: java.lang.CharSequence AUTHORIZATION>;
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.Oauth2WebClientAware: io.vertx.ext.auth.User getUser()>();
v = interfaceinvoke v.<io.vertx.ext.auth.User: io.vertx.core.json.JsonObject principal()>();
v = virtualinvoke v.<io.vertx.core.json.JsonObject: java.lang.String getString(java.lang.String)>("access_token");
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[])>("Bearer \u0001");
virtualinvoke v.<io.vertx.core.http.RequestOptions: io.vertx.core.http.RequestOptions putHeader(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
interfaceinvoke v.<io.vertx.core.Promise: void complete()>();
goto label;
label:
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.Oauth2WebClientAware: io.vertx.ext.auth.oauth.OAuth2Auth oauth2Auth()>();
v = v.<io.vertx.ext.web.client.impl.OAuth2AwareInterceptor: io.vertx.ext.web.client.impl.Oauth2WebClientAware parentClient>;
v = virtualinvoke v.<io.vertx.ext.web.client.impl.Oauth2WebClientAware: io.vertx.ext.auth.authentication.Credentials getCredentials()>();
v = interfaceinvoke v.<io.vertx.ext.auth.oauth.OAuth2Auth: io.vertx.core.Future authenticate(io.vertx.ext.auth.authentication.Credentials)>(v);
v = staticinvoke <io.vertx.ext.web.client.impl.OAuth2AwareInterceptor$lambda_createRequest_7__822: io.vertx.core.Handler bootstrap$(io.vertx.ext.web.client.impl.OAuth2AwareInterceptor,io.vertx.ext.web.client.impl.HttpContext,io.vertx.core.Promise)>(v, v, v);
v = interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onSuccess(io.vertx.core.Handler)>(v);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.vertx.ext.web.client.impl.OAuth2AwareInterceptor$fail__823: io.vertx.core.Handler bootstrap$(io.vertx.core.Promise)>(v);
interfaceinvoke v.<io.vertx.core.Future: io.vertx.core.Future onFailure(io.vertx.core.Handler)>(v);
goto label;
label:
interfaceinvoke v.<io.vertx.core.Promise: void fail(java.lang.String)>("Missing client credentials");
label:
v = interfaceinvoke v.<io.vertx.core.Promise: io.vertx.core.Future future()>();
return v;
}
}