An extremely fast Go HTTP router with regex route matching and full RESTful API support.
Ozzo-routing is a Go package that provides high-performance HTTP routing for web applications. It features a middleware pipeline architecture, supports regular expression route matching, and includes built-in handlers for building RESTful APIs. It solves the need for a fast, flexible router that integrates well with Go's standard library.
Go developers building web applications or RESTful APIs who need a performant and feature-rich routing solution. It's particularly suitable for projects requiring regex-based routing, middleware pipelines, and compatibility with existing `http.Handler` patterns.
Developers choose ozzo-routing for its exceptional speed (zero dynamic allocations), Express-like middleware flexibility, and comprehensive built-in handlers. It offers a pragmatic balance between performance and productivity without locking users into a full-stack framework.
An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Benchmarks show zero dynamic memory allocation and routing speed comparable to httprouter and gin, making it ideal for high-throughput APIs.
Express-like architecture allows modular and reusable request handling, with built-in handlers for logging, CORS, and error recovery.
Seamlessly works with standard http.Handler and http.HandlerFunc, easing integration into existing Go codebases.
Supports URL parameters and regular expressions in route definitions, enabling complex routing logic without extra dependencies.
As a routing package, it lacks advanced features like input validation, serialization, or API documentation tools, requiring additional libraries.
Third-party handlers and extensions are fewer compared to more popular routers like gin or echo, potentially increasing development time for custom needs.
Focused on HTTP routing, it doesn't provide built-in support for WebSockets or other protocols, necessitating separate integrations.