繁体   English   中英

Rust Actix-Web v4 使用自定义 header 创建响应

[英]Rust Actix-Web v4 creating a response with custom header

我正在尝试使用 actix-web v4 在处理程序中创建响应。

header方法已更改为append_header ,它现在代替键值对采用 header object。

此处的原始文档提供了以下示例:

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,但我还没有找到任何方法来创建自定义类型。

我本来希望像Header::from("'X-Hdr': 'sample'")这样的东西可以工作,但还没有找到任何方法来创建这个 header。

在 actix-web v4 中创建'X-Hdr':'sample' header 的正确方法是什么?

pub fn append_header<H>(&mut self, header: H) -> &mut Self where
    H: IntoHeaderPair, 

append_header方法采用任何实现IntoHeaderPair的类型。 如果您查看该 trait 的文档,您会发现它是针对以下各项实现的:

(&'_ HeaderName, V)
(&'_ str, V)
(HeaderName, V)
(&'_ [u8], V)
(String, V)

V是实现IntoHeaderValue的任何类型,包括String&strVec和 integer 类型。

因此,您可以简单地编写.append_header(("X-Hdr", "sample"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM