{"repo":"connectrpc/vanguard-go","free":true,"listed":false,"github":"https://github.com/connectrpc/vanguard-go","clone":"git clone https://github.com/connectrpc/vanguard-go.git","description":"Support REST, gRPC, gRPC-Web, and Connect clients with one server.","language":"Go","stars":415,"topics":["connectrpc","golang","grpc","grpc-gateway","protobuf","rest"],"license":"Apache-2.0","category":"networking-infra","readme_excerpt":"⚔️ Vanguard [ ][badges slack] Vanguard is a powerful library for Go net/http servers that enables seamless transcoding between REST and RPC protocols. Whether you need to bridge the gap between gRPC, gRPC-Web, Connect, or REST, Vanguard has got you covered. With support for Google's HTTP transcoding options, it can effortlessly translate protocols using strongly typed Protobuf definitions. See an example in action! Why Vanguard? Vanguard offers a range of compelling use cases that make it an invaluable addition to your services: 1. RESTful Transformation : By leveraging HTTP transcoding annotations, you can effortlessly support REST clients. This feature is especially handy during the migration from a REST API to a schema-driven RPC API. With the right annotations, your existing REST clients can seamlessly access your API, even as you transition your server implementations to Protobuf and RPC. 2. Efficiency and Code Generation : Unlike traditional approaches like gRPC-Gateway, Vanguard operates efficiently within Go servers, compatible with various servers such as Connect and gRPC. It doesn't rely on extensive code generation, eliminating the need for additional code generation steps. This flexibility ensures that your code can adapt dynamically, loading service definitions from configuration, schema registries, or via gRPC Server Reflection, making it a perfect fit for proxies without the hassle of recompilation and redeployment each time an RPC service schema changes. 3. Le","default_branch":null,"files":null,"tree":[],"storefront":"/r/connectrpc","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/connectrpc/vanguard-go/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}