Routerify
The Routerify
provides a lightweight and modular router implementation with middleware support for the existing Rust HTTP library hyper.rs.
There are a lot of web server frameworks for Rust applications out there and hyper.rs being comparably very fast and ready for production use
is one of them, and it provides only low level API. It doesn't provide any complex routing feature. So, Routerify
extends the hyper.rs library
by providing that missing feature without compromising any performance.
The Routerify
offers the following features:
- 📡 Allows defining complex routing logic.
- 🔨 Provides middleware support.
- 🌀 Supports Route Parameters.
- 🚀 Fast as
hyper.rs
and ready for production use. - 🍺 It supports any request body type as long as it implements the HttpBody trait.
- ❗ Provides a flexible error handling strategy.
- 🍗 Extensive examples and well documented.
Install
Add this to your Cargo.toml
file:
[]
= "1.0"
Basic Example
A simple example using Routerify
with hyper.rs would look like the following:
use ;
// Import the routerify prelude traits.
use *;
use ;
use ;
// A handler for "/" page.
async
// A handler for "/about" page.
async
// A middleware which logs an http request.
async
// Create a `Router<Body, Infallible>` for request body type `hyper::Body` and for handler error type `Infallible`.
async
Documentation
Please visit: Docs for an extensive documentation.
Examples
The common examples.
Contributing
Your PRs and suggestions are always welcome.