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.13.4"
Example
#[macro_use]
extern crate finchers;
use finchers::prelude::*;
fn main() {
let endpoint = path!(@get / "greeting" / String)
.map(|name: String| {
format!("Hello, {}!\n", name)
});
finchers::server::start(endpoint)
.serve("127.0.0.1:4000")
.expect("failed to start the server");
}
Resources
Contributed Features
-
finchers-juniper
- GraphQL integration support, based onjuniper
-
finchers-tungstenite
- WebSocket support, based ontungstenite
-
finchers-session
: Session support -
finchers-template
: Template engine support
Status
Travis CI | Appveyor | Coveralls |
---|---|---|
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.