#http-router #tower-service #http-request #builder #async

router-service

一个简单的 HTTP 路由器,可作为 tower 服务使用

2 个不稳定版本

0.2.0 2023年6月15日
0.1.0 2023年6月15日

#17 in #http-router

MIT 许可协议

29KB
614

router-service

一个简单的 HTTP 请求路由器,可作为 tower Service

进行中


lib.rs:

一个简单、无装饰的路由器,可作为 Service 使用。

示例

use std::convert::Infallible;
use std::net::SocketAddr;

use http::{Request, Response, StatusCode};
use hyper::{Server, Body};
use tower::{Service, make::Shared};
use router_service::Router;

let mut router = Router::new()
    .get("/", |req, _| async move {
        println!("Got request with headers: {:#?}", req.headers());
        Response::builder().body(Body::empty())
    });

 let addr = ([127, 0, 0, 1], 3030).into();
 Server::bind(&addr)
    .serve(Shared::new(router))
    .await
    .expect("error running server");

依赖项

~1.5MB
~31K SLoC