27次发布
使用旧的Rust 2015
0.13.5 | 2018年10月16日 |
---|---|
0.12.2 | 2018年10月2日 |
0.11.0 | 2018年5月14日 |
0.10.1 | 2017年12月28日 |
0.5.0 | 2017年9月17日 |
#26 in #http-service
在 6 个crate中使用
240KB
7K SLoC
finchers
finchers
是一个用于构建异步HTTP服务的组合库。
其概念和设计高度受到 finch
的启发。
特性
- 由futures和Tokio驱动的异步处理能力
- 通过 组合 原始组件来构建HTTP服务
- 类型安全的路由,无需(不稳定)过程宏
使用方法
将此项目添加到您的项目中的 Cargo.toml
[dependencies]
finchers = "0.13.5"
示例
#[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");
}
资源
贡献特性
finchers-juniper
- 基于GraphQL的集成支持,基于juniper
finchers-tungstenite
- WebSocket支持,基于tungstenite
finchers-session
: 会话支持finchers-template
: 模板引擎支持
状态
Travis CI | Appveyor | CircleCI | Codecov |
---|---|---|---|
许可证
本项目可在以下任一许可证下使用
- MIT许可证,(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
- Apache License,版本2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
任选其一。
依赖关系
~17MB
~323K SLoC