in src/main/java/software/amazon/cloudformation/proxy/AmazonWebServicesClientProxy.java [100:145]
public <ClientT> ProxyClient<ClientT> newProxy(@Nonnull Supplier<ClientT> client) {
return new ProxyClient<ClientT>() {
@Override
public <RequestT extends AwsRequest, ResponseT extends AwsResponse>
ResponseT
injectCredentialsAndInvokeV2(RequestT request, Function<RequestT, ResponseT> requestFunction) {
return AmazonWebServicesClientProxy.this.injectCredentialsAndInvokeV2(request, requestFunction);
}
@Override
public <RequestT extends AwsRequest, ResponseT extends AwsResponse>
CompletableFuture<ResponseT>
injectCredentialsAndInvokeV2Async(RequestT request,
Function<RequestT, CompletableFuture<ResponseT>> requestFunction) {
return AmazonWebServicesClientProxy.this.injectCredentialsAndInvokeV2Async(request, requestFunction);
}
@Override
public <RequestT extends AwsRequest, ResponseT extends AwsResponse, IterableT extends SdkIterable<ResponseT>>
IterableT
injectCredentialsAndInvokeIterableV2(RequestT request, Function<RequestT, IterableT> requestFunction) {
return AmazonWebServicesClientProxy.this.injectCredentialsAndInvokeIterableV2(request, requestFunction);
}
@Override
public <RequestT extends AwsRequest, ResponseT extends AwsResponse>
ResponseInputStream<ResponseT>
injectCredentialsAndInvokeV2InputStream(RequestT request,
Function<RequestT, ResponseInputStream<ResponseT>> requestFunction) {
return AmazonWebServicesClientProxy.this.injectCredentialsAndInvokeV2InputStream(request, requestFunction);
}
@Override
public <RequestT extends AwsRequest, ResponseT extends AwsResponse>
ResponseBytes<ResponseT>
injectCredentialsAndInvokeV2Bytes(RequestT request,
Function<RequestT, ResponseBytes<ResponseT>> requestFunction) {
return AmazonWebServicesClientProxy.this.injectCredentialsAndInvokeV2Bytes(request, requestFunction);
}
@Override
public ClientT client() {
return client.get();
}
};
}