我正在使用actix v4在处理程序中创建一个响应。
header
方法已经更改为append_header
,而不是键值对,而是接受一个标头对象。
原始文档这里给出了以下示例:
use actix_web::HttpResponse;
async fn index() -> HttpResponse {
HttpResponse::Ok()
.content_type("plain/text")
.header("X-Hdr", "sample")
.body("data")
}
我可以用预定义的mime名称使用append_header(ContentType::plaintext())
创建一个标头,但我还没有找到任何创建自定义类型的方法。
我本来希望像Header::from("'X-Hdr': 'sample'")
这样的东西能够工作,但是没有找到任何方法来创建这个标题。
在actix v4中创建v4头的正确方法是什么?
发布于 2021-06-11 16:51:05
pub fn append_header<H>(&mut self, header: H) -> &mut Self where
H: IntoHeaderPair,
append_header
方法采用实现IntoHeaderPair
的任何类型。如果您查看该特性的文档,您将看到它是为以下目的实现的:
(&'_ HeaderName, V)
(&'_ str, V)
(HeaderName, V)
(&'_ [u8], V)
(String, V)
V
是实现IntoHeaderValue
的任何类型,包括String
、&str
、Vec
和整数类型。
因此,您可以简单地编写.append_header(("X-Hdr", "sample"))
https://stackoverflow.com/questions/67939767
复制相似问题