Twirp: A new RPC framework for Go
blog.twitch.tv
Twirp: A new RPC framework for Go
1–10 of 99 posts
Re: Twirp: A new RPC framework for Go
#2Re: Twirp: A new RPC framework for Go
#3Re: Twirp: A new RPC framework for Go
#4this looks really sweet. i've never understood why gRPC limits itself to protobufs only when the protobufs have a canonical json representation. i'm glad that twirp is fixing that piece.
Re: Twirp: A new RPC framework for Go
#5this looks really sweet. i've never understood why gRPC limits itself to protobufs only when the protobufs have a canonical json representation. i'm glad that twirp is fixing that piece.
Re: Twirp: A new RPC framework for Go
#6this looks really sweet. i've never understood why gRPC limits itself to protobufs only when the protobufs have a canonical json representation. i'm glad that twirp is fixing that piece.
Re: Twirp: A new RPC framework for Go
#7Re: Twirp: A new RPC framework for Go
#8Anyone done similar with Twirp?
Re: Twirp: A new RPC framework for Go
#9this looks really sweet. i've never understood why gRPC limits itself to protobufs only when the protobufs have a canonical json representation. i'm glad that twirp is fixing that piece.
On GCP, Cloud Endpoints proxies will transparently translate back and forth between protobufs and the canonical JSON, allowing either representation to be used. So if you're on GCP and don't care about vendor lock-in, that's a solution.
Re: Twirp: A new RPC framework for Go
#10Looks nice. Can anyone comment on how auth works with Twirp? I was trying to get GRPC working to authenticate with unsigned ssl certs (much like using SSH) and was rather disappointed how awkward it was. Basically two completely different methods requiring hiding session ID in two unrelated places just to allow a SSL cert to control authentication. Anyone done similar with Twirp?
When you create a Twirp server, you get a `net/http.Handler`. You can mount it on a `http.Server` with its `TLSConfig` field set to the right policy.
The client constructor similarly takes a `*net/http.Client`. You could provide a Client that uses a `http.Transport` with its `TLSClientConfig` field set to something using the right value (like in https://gist.github.com/michaljemala/d6f4e01c4834bf47a9c4, say).