4个版本
0.1.3 | 2020年9月2日 |
---|---|
0.1.2 | 2020年9月1日 |
0.1.1 | 2020年9月1日 |
0.1.0 | 2020年9月1日 |
在HTTP服务器中排名1214
每月33次下载
11KB
133 代码行
Hightide
Hightide是tide Web框架的扩展。它提供了一个高级接口来构建响应。
要使用它,请使用wrap
函数包装您的端点。这个包装器允许您的端点返回实现Responder
特质的各种类型。
Hightide还包括一个响应类型,它比tide提供的类型更容易使用。它具有将体设置为JSON或表单有效负载以及从hyperx
包添加类型化头部的快捷方法。
Responder
为各种类型实现了,例如(StatusCode, impl Responder)
,这使得您能够
use tide::{Request, StatusCode};
use hightide::Responder;
fn example(_: tide::Request<()>) -> impl Responder {
(StatusCode::Conflict, "Already Exists")
}
这比纯tide
中的等效代码更简单
use tide::{Request, StatusCode};
use hightide::Responder;
fn example(_: Request<()>) -> tide::Result {
Ok(Response::builder(StatusCode::Conflict)
.body("Already Exists")
.build())
}
Json
包装器还允许更直接地返回JSON响应。
use tide::{Request};
use hightide::{Responder, Json};
fn example(_: tide::Request<()>) -> impl Responder {
Json(MyData{ ... })
}
与
use tide::{Request, StatusCode};
fn example(_: Request<()>) -> tide::Result {
Ok(Response::builder(StatusCode::Ok)
.body(Body::from_json(&MyData{ ... })?)
.build())
}
依赖关系
~12–23MB
~354K SLoC