Routerify
The Routerify
provides a lightweight and modular router implementation with middleware support for the 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.
- 🚀 No performance compromising when integrated with hyper.rs.
- 🍺 It supports any response body type as long as it implements the HttpBody trait.
- ❗ Provides a flexible error handling strategy.
- 🍗 Exhaustive examples and well documented.
To generate a quick server app using Routerify and hyper.rs, please check out hyper-routerify-server-template.
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 response body type `hyper::Body` and for handler error type `Infallible`.
async
Documentation
Please visit: Docs for an exhaustive documentation.
Examples
The common examples.
Contributing
Your PRs and suggestions are always welcome.