finchers icon indicating copy to clipboard operation
finchers copied to clipboard

A combinator library for building asynchronous HTTP services

trafficstars

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.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

Status

Travis CI Codecov
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.