#http-header #header #accept #http #content-negotiation

headers-accept

🤝 为 headers::Header 缺失的 Accept 实现

4个版本

0.1.3 2024年5月6日
0.1.2 2024年5月1日
0.1.1 2024年4月29日
0.1.0 2024年4月25日

#645网络编程

Download history 131/week @ 2024-04-20 289/week @ 2024-04-27 144/week @ 2024-05-04 8/week @ 2024-05-11 10/week @ 2024-05-18 12/week @ 2024-05-25 14/week @ 2024-06-01 5/week @ 2024-06-08 26/week @ 2024-06-15 27/week @ 2024-06-22 19/week @ 2024-06-29 47/week @ 2024-07-06 413/week @ 2024-07-13 749/week @ 2024-07-20 584/week @ 2024-07-27 550/week @ 2024-08-03

每月下载量 2,321

MIT 许可证

28KB
332

headers-accept

🤝 为 headers::Header 缺失的 Accept 实现

🎨 简介

此包提供了对 headers::HeaderAccept 实现。

虽然存在其他包,但它们要么依赖于如 mime (headers-accept 使用 mediatype 代替) 的停滞不前的包,要么偏离了RFC 9110 (通过施加繁琐的排序逻辑),或者两者兼有。

此包旨在解决这些问题,同时遵守第12.5.1节中概述的规范。

📦 安装

要在项目中使用此包,请将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
headers-accept = "0.1.3"

🤸 使用

示例

use std::str::FromStr;

use headers_accept::Accept;
use mediatype::MediaTypeBuf;

let accept = Accept::from_str("audio/*; q=0.2, audio/basic").unwrap();
let mut media_types = accept.media_types();
assert_eq!(
    media_types.next(),
    Some(&MediaTypeBuf::from_str("audio/basic").unwrap())
);
assert_eq!(
    media_types.next(),
    Some(&MediaTypeBuf::from_str("audio/*; q=0.2").unwrap())
);
assert_eq!(media_types.next(), None);

🦺 安全性

此包使用 #![forbid(unsafe_code)] 确保所有内容都使用100%安全的Rust实现。

👯 贡献

我们感谢所有形式的贡献,谢谢!

依赖

~1MB
~12K SLoC