github.com/jhump/grpcext (go): Package grpcext contains useful extensions to GRPC.  At the moment, the contents focus on interceptors and on metadata.  GRPC allows applications to register up to one interceptor for unary RPCs and up to one interceptor for streaming RPCs. But it does not provide any way to unify the two -- when you need an interceptor that handles both unary and streaming RPCs. Also, it only allows for exactly one interceptor, not multiple. So this package has some new things to address that:  GRPC's metadata API (metadata.MD) is narrow. You have to query metadata via map usage. It fails to provide helper methods that will normalize keys (which are always lower-case) or that will conveniently handle the most common cases for extracting a single value when multiple are present. This package provides its own grpcext.MD type. Since its underlying map type is the same, it can be assigned from a metadata.MD with a simple type conversion, e.g.:
Keywords: go|grpc