27 releases
Uses old Rust 2015
0.13.5 | Oct 16, 2018 |
---|---|
0.12.2 | Oct 2, 2018 |
0.11.0 | May 14, 2018 |
0.10.1 | Dec 28, 2017 |
0.5.0 | Sep 17, 2017 |
#41 in #http-service
Used in 6 crates
240KB
7K
SLoC
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.5"
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 supportfinchers-template
: Template engine support
Status
Travis CI | Appveyor | CircleCI | 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.
Dependencies
~13–21MB
~313K SLoC