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.
  • Constructor Details

  • 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 given CallCredentials.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 the appExecutor an asynchronous task which will eventually call the applier. The RPC proceeds only after the applier is called.

      Specified by:
      applyRequestMetadata in class CallCredentials
      Parameters:
      requestInfo - request-related information
      appExecutor - 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.