#media-type #mime #media-extensions

无 std telestes

类型化媒体(MIME)类型

2 个版本

0.1.1 2022 年 5 月 5 日
0.1.0 2022 年 5 月 5 日

#350 in 电子邮件

Apache-2.0

555KB
10K SLoC

Workflow Status Average time to resolve an issue Percentage of issues still open Maintenance

telestes

欢迎!

Telestes 提供了媒体类型的实现;也被称为 MIME 类型。此 crate 强调性能和正确性;以及能够在 const 上下文中解析的能力。它是 no_std 启用的。

要开始,请查看 MediaTypeEssence 类型。

可选功能

  • alloc - 启用使用 alloc crate 中的类型
  • serde - 启用使用 serde 进行序列化/反序列化
  • db - 启用 IANA 媒体类型的 const 数据库

术语

此 crate 的术语应遵循 RFC 或其他著名文档中广泛使用的术语;有一个例外。由于媒体类型的 type 术语与 Rust 的 type 关键字冲突,我们选择了 genusspecies 术语来分别替换 typesubtype 术语。

示例

use telestes::MediaType;

let mt = MediaType::new("text/plain; charset=UTF-8").unwrap();
assert_eq!(mt, "text/plain; charset=UTF-8");
assert_eq!(mt.essence(), "text/plain");
assert_eq!(mt.essence().genus(), "text");
assert_eq!(mt.essence().species(), "plain");
assert_eq!(mt.parameters().get("charset"), Some("UTF-8"));

命名

此 crate 以古希腊悲剧《七将攻忒拜》中的角色 Telestes 命名。这个角色可能是历史上最早记录的哑剧演员。

许可证:Apache-2.0

依赖项