-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add gRPC metadata example #115
Comments
I have two application, the one is an graphql api application for frontend, the other is a microservice using grpc. How can I pass the request instance to the rpc call, because I want to use it to show these request trace. Or is there any way to trace the whole req/res chain? @kamilmysliwiec Hello kamil, is there any solution for my issue? I am waitting for your reply, thanks a lot! |
@kamilmysliwiec Is this related to this nestjs/nest#747? Will this issue resolve the need to have an example with a separated client and server instead of some hybrid thingy which calls itself? |
Is metadata implemented in nest? Or is it a feature to be added? If it is implemented, is there any docs on how to use it within nest? |
@Joshgallagher it's implemented. There are no docs yet though :( |
@kamilmysliwiec can you point me in the direction of a resource or some sort of rough implementation? I can make a PR to examples with an example using metadata. |
Also, to clarify:
|
@kamilmysliwiec Any updates? I'm using MaliJS until metadata is documented in Nest. |
@Joshgallagher To pass metadata from client to service I found that you need to pass a const meta = new grpc.Metadata();
meta.set('context', JSON.stringify(ctx));
this.client.getService('SomeService').someMethod(payload, meta); it seems that the opposite (meta from service to client) is not supported |
Edit: |
Is there an update or a roadmap on this (adding metadata on the service)? |
I have similar issue. I'm as grpc client have to add jwt token to each request to grpc server and I don't understand how to do it. Help please :) |
@kamilmysliwiec Is there any update on the docs providing information on gRPC (nest) microservices returning Metadata? |
@Joshgallagher I'll recommend to have a look at https://github.com/stephenh/ts-proto and use their NestJS support: https://github.com/stephenh/ts-proto/blob/master/NESTJS.markdown You'll get all the messages and gRPC call stups generated - including metadata option. |
@sjkummer from my quick glimpse at that package is doesn't add support for gRPC metadata from the server. Correct me if I am wrong though. |
@Joshgallagher Nestjs already supports gRPC metadata - it's just not well documented, how to declare the methods. You can use generated stubs from |
This doc illustrates the use of ts-proto package to generate ts files from .proto schemas. here is an example script to generate for user.proto schema # nestJs - /gen-nestjs-proto.sh
generate_nestjs_proto_definitions() {
# remove directory if exists
rm -r ./src/proto/nestjs
# make directory
mkdir ./src/proto/nestjs
# generate definitions
protoc --plugin=./node_modules/.bin/protoc-gen-ts_proto --ts_proto_opt=addGrpcMetadata=true --ts_proto_opt=nestJs=true --ts_proto_out=./src/proto/nestjs ./src/proto/user.proto
} |
I'm submitting a...
Current behavior
Expected behavior
As a user, I would like to see passing gRPC metadata example
Minimal reproduction of the problem with instructions
What is the motivation / use case for changing the behavior?
Environment
The text was updated successfully, but these errors were encountered: