A standalone, high-performance URL router for Go that embeds URL parameters into the request's Form without requiring a specific framework.
Vestigo is a standalone URL router for Go that provides high-performance routing while remaining framework-agnostic. It embeds URL parameters into the request's Form, allowing developers to use standard http.HandlerFunc handlers without being locked into a specific context model or web framework.
Go developers building web services or APIs who need a fast, flexible router that integrates easily with existing net/http setups and avoids framework dependencies.
Developers choose Vestigo for its balance of performance and flexibility—it's one of the fastest routers compatible with standard http.HandlerFunc, offers CORS support, and doesn't force a particular context model, making it ideal for modular web service architectures.
Echo Inspired Stand Alone URL Router
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a radix tree data structure for fast routing, with benchmarks showing competitive performance while maintaining compatibility with standard http.HandlerFunc, as highlighted in the README.
Embeds URL parameters into the request's Form (PAT style), avoiding framework lock-in and allowing seamless integration with any net/http setup, a core philosophy stated in the abstract.
Supports both global and per-resource CORS preflight settings, enabling fine-grained access control for APIs, demonstrated in the examples with SetGlobalCors and SetCors methods.
Fully supports TRACE, OPTIONS, and HEAD methods per RFC 2616, ensuring adherence to HTTP standards, which is a listed design goal in the README.
Admits in the README that it's 2x slower than the fastest routers like Echo or Gin, making it less ideal for performance-critical applications where every nanosecond counts.
Lacks built-in URL parameter validators and URI template support (RFC 6570), which are planned for V2 but not yet available, requiring developers to implement custom solutions.
As a standalone router, it doesn't provide pre-built middleware, forcing developers to write or source their own, unlike more opinionated frameworks with richer ecosystems.