34个版本

0.5.0 2024年6月13日
0.5.0-beta.22024年4月23日
0.5.0-alpha.22024年3月17日
0.3.14 2023年10月1日
0.1.0 2020年3月17日

#1 in #fire


2 crates 中使用

MIT/Apache

150KB
4.5K SLoC

一个简单的HTTP服务器库。

示例

# use fire_http as fire;
use fire::{get, Res};

struct GlobalName(String);

// handle a simple get request
#[get("/")]
fn root(global_name: Res<GlobalName>) -> String {
	format!("Hi, this is {}", global_name.0)
}

#[tokio::main]
async fn main() {
	let mut server = fire::build("0.0.0.0:3000").await
		.expect("Failed to parse address");

	server.add_data(GlobalName("fire".into()));
	server.add_route(root);

	server.ignite().await.unwrap();
}

更多示例请查看examples目录和test目录。

特性

  • json
  • fs
  • http2 (启用http 2支持)
  • ws (添加WebSocket支持)
  • trace

依赖

~6–17MB
~222K SLoC