Package io.grpc
Class CompositeCallCredentials
java.lang.Object
io.grpc.CallCredentials
io.grpc.CompositeCallCredentials
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1914")
public final class CompositeCallCredentials
extends CallCredentials
Uses multiple
CallCredentials
as if they were one. If the first credential fails, the
second will not be used. Both must succeed to allow the RPC.-
Nested Class Summary
Nested classes/interfaces inherited from class io.grpc.CallCredentials
CallCredentials.MetadataApplier, CallCredentials.RequestInfo
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
applyRequestMetadata
(CallCredentials.RequestInfo requestInfo, Executor appExecutor, CallCredentials.MetadataApplier applier) Pass the credential data to the givenCallCredentials.MetadataApplier
, which will propagate it to the request metadata.Methods inherited from class io.grpc.CallCredentials
thisUsesUnstableApi
-
Constructor Details
-
CompositeCallCredentials
-
-
Method Details
-
applyRequestMetadata
public void applyRequestMetadata(CallCredentials.RequestInfo requestInfo, Executor appExecutor, CallCredentials.MetadataApplier applier) Description copied from class:CallCredentials
Pass the credential data to the givenCallCredentials.MetadataApplier
, which will propagate it to the request metadata.It is called for each individual RPC, within the
Context
of the call, before the stream is about to be created on a transport. Implementations should not block in this method. If metadata is not immediately available, e.g., needs to be fetched from network, the implementation may give theappExecutor
an asynchronous task which will eventually call theapplier
. The RPC proceeds only after theapplier
is called.- Specified by:
applyRequestMetadata
in classCallCredentials
- Parameters:
requestInfo
- request-related informationappExecutor
- The application thread-pool. It is provided to the implementation in case it needs to perform blocking operations.applier
- The outlet of the produced headers. It can be called either before or after this method returns.
-