Overview of Vanguard
mainVanguard is a Go library designed for net/http servers that enables seamless transcoding between REST and various RPC protocols (gRPC, gRPC-Web, and Connect). It uses strongly typed Protobuf definitions and supports Google's HTTP transcoding options to translate protocols automatically.
Key benefits include:
- RESTful Transformation: Supports REST clients during migrations from REST to schema-driven RPC APIs using HTTP transcoding annotations.
- Efficiency: Operates within Go servers (compatible with Connect and gRPC) without requiring extensive code generation.
- Dynamic Loading: Service definitions can be loaded from configuration, schema registries, or via gRPC Server Reflection, allowing for updates without recompilation.
- Legacy Compatibility: Allows legacy REST clients to interact with Protobuf RPC services.
- Protocol Bridging: Bridges the gap between gRPC and Connect, allowing existing gRPC handlers to be used with Connect clients.