Class GrpcResponseMetadata

  • All Implemented Interfaces:
    ResponseMetadataHandler

    public class GrpcResponseMetadata
    extends Object
    implements ResponseMetadataHandler
    GrpcResponseMetadata provides a mechanism to access the headers and trailers returned by a gRPC client method.

    NOTE: the GrpcResponseMetadata class is not thread-safe and should NOT be re-used for multiple calls. A new instance of GrpcResponseMetadata should be constructed for each call that requires metadata to be accessed.

    Example usage:

     
     GrpcResponseMetadata grpcResponseMetadata = new GrpcResponseMetadata();
     Foo foo = client.getFooCallable().call(getFooRequest, grpcResponseMetadata.createContextWithHandlers());
     Metadata headers = grpcResponseMetadata.getMetadata();
     Metadata trailers = grpcResponseMetadata.getTrailingMetadata();
     
     
    • Constructor Detail

      • GrpcResponseMetadata

        public GrpcResponseMetadata()
    • Method Detail

      • addHandlers

        public GrpcCallContext addHandlers​(com.google.api.gax.rpc.ApiCallContext apiCallContext)
        Constructs a new call context from an existing ApiCallContext, and sets the CallOptions to add handlers to retrieve the headers and trailers, and make them available via the getMetadata and getTrailingMetadata methods.
      • createContextWithHandlers

        public GrpcCallContext createContextWithHandlers()
        Constructs a new call context and sets the CallOptions to add handlers to retrieve the headers and trailers, and make them available via the getMetadata and getTrailingMetadata methods.
      • getMetadata

        public io.grpc.Metadata getMetadata()
        Returns the headers from the gRPC method as Metadata. If the call has not completed, will return null.
      • getTrailingMetadata

        public io.grpc.Metadata getTrailingMetadata()
        Returns the trailers from the gRPC method as Metadata. If the call has not completed, will return null.