tower-http发布
今天我很高兴地宣布 Tower-http,它是使用 Tower 的服务特性构建的特定于 HTTP 的中间件和实用程序的集合。
Tower 本身包含所有协议无关的中间件。例如,它的超时中间件与任何服务实现兼容,无论它使用哪种协议。
使用来自 Tower-http 的东西构建一个小服务器看起来像这样:
use tower_http::{
compression::CompressionLayer,
auth::RequireAuthorizationLayer,
trace::TraceLayer,
};
use tower::{ServiceBuilder, make::Shared};
use http::{Request, Response};
use hyper::{Body, Error, server::Server};
use std::net::SocketAddr;
// Our request handler. This is where we would implement the application logic
// for responding to HTTP requests...
async fn handler(request: Request<Body>) -> Result<Response<Body>, Error> {
Ok(Response::new(Body::from("Hello, World!")))
}
#[tokio::main]
async fn main() {
// Use `tower`'s `ServiceBuilder` API to build a stack of middleware
// wrapping our request handler.
let service = ServiceBuilder::new()
// High level tracing of requests and responses.
.layer(TraceLayer::new_for_http())
// Compress responses.
.layer(CompressionLayer::new())
// Authorize requests using a token.
.layer(RequireAuthorizationLayer::bearer("tower-is-cool"))
// Wrap a `Service` in our middleware stack.
.service_fn(handler);
// And run our service using `hyper`.
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
Server::bind(&addr)
.serve(Shared::new(service))
.await
.expect("server error");
}
文章链接,https://tokio.rs/blog/2021-05-announcing-tower-http Github 链接,https://github.com/tower-rs/tower-http
介绍gpg-tui,这是GnuPG的终端用户界面
GnuPG 是 OpenPGP 标准的一个众所周知的实现,它在各种社区和项目中使用了多年。它也被称为“ GPG”,它是命令行工具的名称,可让您更轻松地与其他应用程序集成。它经过多年的实战测试,拥有丰富的前端应用程序和库。
文章链接,https://orhun.dev/blog/introducing-gpg-tui/
From 日报小组 TOM
社区学习交流平台订阅:
1
共 0 条评论, 1 页
评论区
写评论还没有评论