mwitkow / grpc-proxy

gRPC proxy is a Go reverse proxy that allows for rich routing of gRPC calls with minimum overhead.
Apache License 2.0
962 stars 210 forks source link

Remove deprecated logic, modernise project #52

Closed marcusirgens closed 2 years ago

marcusirgens commented 3 years ago

This issue tracks a more thorough rewrite of this code, which has turned a bit stale. This includes the fixes in mwitkow/grpc-proxy#51, which replaces the framing logic with the more idiomatic anypb.Any type, while also removing the deprecated grpc.CustomCodec() calls.

As far as I can tell, this rewrite is 100% backwards compatible, but I'm eager to perform some more tests with some more complex protos.

This PR includes

I do suggest tagging this as 0.2 if this is merged at some point.

Feedback and contributions are greatly appreciated.

DennisMao commented 3 years ago

.editconfig can be reomved or igored.

johanbrandhorst commented 3 years ago

(I don't have the permission to merge this).

tmc commented 2 years ago

@mwitkow would you be open to opening up maintainers on this codebase?

bwplotka commented 2 years ago

Thanks @johanbrandhorst and others! Let's get this rolling 💪🏽

@tmc I think we should add more maintainers and I can try to arrange that (I can't add people), if anyone wants to help. Feel free to shoot me a message to bwplotka @ gmail.com

@johanbrandhorst do you have time to help too? 🙈

bwplotka commented 2 years ago

Great work BTW @marcusirgens - this was definitely needed.

johanbrandhorst commented 2 years ago

I would love to help if I can :)

marcusirgens commented 2 years ago

I'm open to contributing to this project. 👍🏻

gedw99 commented 2 years ago

I plan to get http/3 WebTransport working with this, and would like to help.

fabregas commented 2 years ago

@marcusirgens you can't unmarshal any binary protobuf message to anypb.Any. This is wrong assumption.

Any message declaration:

message Any { string type_url = 1; bytes value = 2; }

So in some cases we will receive error "grpc: failed to unmarshal the received message string field contains invalid UTF-8" bcs it can't unmarshal type_url string.