如何使用Iron创建自定义的Content-Type?

时间:2018-08-17 01:27:46

标签: rust iron

我想在Iron Web应用程序中创建标题Content-Type: application/x-protobuf

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

如何创建此内容类型值?

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

1 个答案:

答案 0 :(得分:3)

  

,但是没有SubLevel与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![],
    )));
}