grpc / grpc-web

gRPC for Web Clients
https://grpc.io
Apache License 2.0
8.67k stars 764 forks source link

Node-based proxy #6

Open paralin opened 8 years ago

paralin commented 8 years ago

Some things I am interested in doing:

paralin commented 8 years ago

Done here: http://github.com/paralin/grpc-bus

Any comments?

wenbozhu commented 8 years ago

Cool. Any doc on the supported transport/protocols?

paralin commented 8 years ago

@wenbozhu supports literally anything. You give it a function for send(message) {} and it expects that message to end up at handleMessage(message) on the server. Also, the thing passed to send() is a ProtoBuf message so it supports binary serialization.

wenbozhu commented 7 years ago

Thanks for the update!

Are you interested in implementing the grpc-web spec in the Node proxy?

https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-WEB.md

There is already a Go proxy from Improbable. We are happy to review the Node proxy implementation and include the Node proxy in grpc-web interoperability test suite.

lewish commented 5 years ago

I've taken a stab at this, because we needed it ourselves for something: https://github.com/dataform-co/dataform/tree/master/tools/grpc-web-proxy

It seems to be working well for unary calls, I haven't had a chance to test it for streaming yet! Would be happy to discuss moving this somewhere official, but not sure I have the time to do that myself.

stanley-cheung commented 5 years ago

@lewish This looks promising! Let us check this out and we can discuss where it's more appropriate to host this later. Thanks!

petermetz commented 3 years ago

@lewish I'm late for the party, your link goes to 404. Did you ever end up finishing that implementation so that it supports streaming as well? :-)

tiero commented 2 years ago

@lewish I'm late for the party, your link goes to 404. Did you ever end up finishing that implementation so that it supports streaming as well? :-)

maybe this? https://github.com/dataform-co/dataform/tree/master/grpc-web-proxy

petermetz commented 2 years ago

@tiero Thank you! Unfortunately it says in the readme on that link that This has only been tested with unary gRPC calls. :-(

tiero commented 2 years ago

@petermetz I tested for my use case where I use grpc-web-text (ie. messages are encoded as base64) and is not supported either, guess is same reason only works for unary calls.