-
Notifications
You must be signed in to change notification settings - Fork 17
feat: allow skip pass trailers in nginx grpc upstream #100
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request adds support to use gRPC without passing upstream trailers by introducing a gRPC server implementation for testing purposes. The changes include a new gRPC server written in Go (server.go), protocol definitions (route.proto) along with generated code (route.pb.go), and a CI configuration update to run the required gRPC setup script.
Reviewed Changes
Copilot reviewed 5 out of 13 changed files in this pull request and generated no comments.
File | Description |
---|---|
t/assets/grpc/server.go | Introduces a simple gRPC server implementation for routing. |
t/assets/grpc/a6/route.proto | Defines the protocol for route queries and responses. |
t/assets/grpc/a6/route.pb.go | Generated Go code for the defined protobuf messages and service. |
.github/workflows/ci.yml | Updates CI workflow to run an additional setup script for gRPC. |
Files not reviewed (8)
- lib/resty/apisix/upstream.lua: Language not supported
- patch/1.25.3.1/nginx-upstream_pass_trailers.patch: Language not supported
- patch/1.27.1.1/nginx-upstream_pass_trailers.patch: Language not supported
- src/ngx_http_apisix_module.c: Language not supported
- src/ngx_http_apisix_module.h: Language not supported
- t/assets/grpc/go.mod: Language not supported
- t/assets/grpc/setup.sh: Language not supported
- t/upstream_pass_trailers.t: Language not supported
Comments suppressed due to low confidence (2)
t/assets/grpc/server.go:40
- [nitpick] Consider clarifying the error message to be more descriptive, e.g., 'Route name cannot be empty'.
return nil, status.Errorf(codes.InvalidArgument, "query params invalid")
.github/workflows/ci.yml:35
- Ensure that the 'setup.sh' script exists at the specified path to avoid CI failures.
cd t/assets/grpc && ./setup.sh > build.log 2>&1 || (cat build.log && exit 1) && cd ../../..
GM test failure has nothing to do with the current PR, so please ignore it. |
Add a patch to the nginx upstream module to allow grpc_pass to be used without upstream trailers being passed through to the client.
For apache/apisix#11988