5 unstable releases
0.3.1 | Nov 22, 2023 |
---|---|
0.3.0 | Jun 5, 2023 |
0.2.0 | Sep 8, 2022 |
0.1.1 | Nov 9, 2021 |
0.1.0 | Feb 2, 2018 |
#982 in Web programming
520,394 downloads per month
Used in 472 crates
(43 directly)
30KB
609 lines
data-url
Processing of data:
URLs in Rust according to the Fetch Standard:
https://fetch.spec.whatwg.org/#data-urls
but starting from a string rather than a parsed URL to avoid extra copies.
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
:
Processing of data:
URLs according to the Fetch Standard:
https://fetch.spec.whatwg.org/#data-urls
but starting from a string rather than a parsed URL to avoid extra copies.
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());