#web #framework #server #finchers

finchers

A combinator library for builidng asynchronous HTTP services

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

#150 in HTTP server

Download history 8/week @ 2021-01-11 14/week @ 2021-01-18 8/week @ 2021-01-25 6/week @ 2021-02-01 65/week @ 2021-02-08 94/week @ 2021-02-15 15/week @ 2021-02-22 13/week @ 2021-03-01 4/week @ 2021-03-08 4/week @ 2021-03-15 77/week @ 2021-03-22 63/week @ 2021-03-29 39/week @ 2021-04-05 47/week @ 2021-04-12 33/week @ 2021-04-19 11/week @ 2021-04-26

104 downloads per month
Used in less than 6 crates

MIT/Apache

240KB
7K SLoC

finchers

Crates.io Crates.io (Downloads) Docs.rs Master doc Rustc Version dependency status Gitter

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

Status

Travis CI Appveyor CircleCI Codecov
Travis CI Appveyor CircleCI Codecov

License

This project is licensed under either of

at your option.

Dependencies

~11MB
~225K SLoC