rust - 如何使用 Iron 创建自定义内容类型?

标签 rust iron

我想在我的 Iron 网络应用程序中创建 header Content-Type: application/x-protobuf

我可以从 Iron 文档中看到 it's possible to construct content-types ,但是没有对应protobuf的SubLevel

如何创建此内容类型值?

let mut headers = Headers::new();
headers.set(ContentType(Mime(TopLevel::Application, SubLevel::???, vec![])));

最佳答案

but there's no SubLevel that corresponds to protobuf.

如果您阅读 the documentation for SubLevel ,你会看到它的定义:

pub enum SubLevel {
    Star,
    Plain,
    // ... snip ...
    Ogg,
    Ext(String),
}

因此,您需要:

extern crate iron; // 0.6.0

use iron::{
    headers::ContentType,
    mime::{Mime, SubLevel, TopLevel},
    Headers,
};

fn main() {
    let mut headers = Headers::new();
    headers.set(ContentType(Mime(
        TopLevel::Application,
        SubLevel::Ext("x-protobuf".into()),
        vec![],
    )));
}

关于rust - 如何使用 Iron 创建自定义内容类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51887262/

相关文章:

function - 如何从泛型函数返回具体类型?

hashmap - 关于 Rust HashMap 和 String 借用的困惑

ios - Meteor GoogleMaps.load() 无法在 iOS 上使用 Iron

testing - 当 HTTP 服务器在旧服务器关闭后启动时,测试会发生 panic

c# - IronPDF 对 System.Drawing.Common 的依赖

rust - Rust 单元测试错误 : "The async keyword is missing from the function declaration"

rust - 如果没有传递到 spawn() 中,则无法推断出 proc() 的类型信息

rust - 我可以在循环的多次迭代中传递相同的可变特征对象而不添加间接寻址吗?

rust - panic !不会停止 Iron 服务器

python - IronPython 重新加载模块(UMD、运行文件)