#url #data #fetch #parse-url #whatwg #standard #processing

no-std data-url

根据WHATWG的Fetch标准处理数据URL

5个不稳定版本

0.3.1 2023年11月22日
0.3.0 2023年6月5日
0.2.0 2022年9月8日
0.1.1 2021年11月9日
0.1.0 2018年2月2日

874网络编程 中排名

Download history 58274/week @ 2024-04-29 57896/week @ 2024-05-06 64624/week @ 2024-05-13 79262/week @ 2024-05-20 66286/week @ 2024-05-27 60770/week @ 2024-06-03 88032/week @ 2024-06-10 79843/week @ 2024-06-17 86635/week @ 2024-06-24 76943/week @ 2024-07-01 82409/week @ 2024-07-08 69403/week @ 2024-07-15 75649/week @ 2024-07-22 76311/week @ 2024-07-29 71019/week @ 2024-08-05 79088/week @ 2024-08-12

每月下载量 307,569
420 Crates中使用(直接使用 43 个)

MIT/Apache

30KB
609

data-url

crates.io docs.rs

根据Fetch标准在Rust中处理 data: URLs: https://fetch.spec.whatwg.org/#data-urls,但从一个字符串而不是一个解析后的URL开始,以避免额外的复制。

use data_url::{DataUrl, mime};

let url = DataUrl::process("data:,Hello%20World!").unwrap();
let (body, fragment) = url.decode_to_vec().unwrap();

assert_eq!(url.mime_type().type_, "text");
assert_eq!(url.mime_type().subtype, "plain");
assert_eq!(url.mime_type().get_parameter("charset"), Some("US-ASCII"));
assert_eq!(body, b"Hello World!");
assert!(fragment.is_none());

lib.rs:

根据Fetch标准在Rust中处理 data: URLs: https://fetch.spec.whatwg.org/#data-urls,但从一个字符串而不是一个解析后的URL开始,以避免额外的复制。

use data_url::{DataUrl, mime};

let url = DataUrl::process("data:,Hello%20World!").unwrap();
let (body, fragment) = url.decode_to_vec().unwrap();

assert_eq!(url.mime_type().type_, "text");
assert_eq!(url.mime_type().subtype, "plain");
assert_eq!(url.mime_type().get_parameter("charset"), Some("US-ASCII"));
assert_eq!(body, b"Hello World!");
assert!(fragment.is_none());

无运行时依赖