finchers
finchers copied to clipboard
A combinator library for building asynchronous HTTP services
trafficstars
finchers
finchers is a combinator library for building asynchronous HTTP services.
The concept and design was highly inspired by finch.
Features
- Asynchronous handling powerd by futures and Tokio
- Building an HTTP service by combining the primitive components
- Type-safe routing without (unstable) procedural macros
Usage
Add this item to Cargo.toml in your project:
[dependencies]
finchers = "0.14.0-dev"
Example
use finchers::{
prelude::*,
endpoint::syntax::path,
};
fn main() -> izanami::Result<()> {
let endpoint = path!(@get "/greeting/<String>")
.map(|name: String| {
format!("Hello, {}!\n", name)
});
izanami::Server::build()
.start(endpoint.into_service())
}
Resources
Contributed Features
finchers-juniper- GraphQL integration support, based onjuniperfinchers-tungstenite- WebSocket support, based ontungstenitefinchers-session: Session supportfinchers-template: Template engine support
Status
| Travis CI | Codecov |
|---|---|
License
This project is licensed under either of
- MIT license, (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
at your option.