Crates.io | telestes |
lib.rs | telestes |
version | 0.1.1 |
source | src |
created_at | 2022-05-05 22:58:06.892447 |
updated_at | 2022-05-05 23:23:58.25573 |
description | Typed Media (MIME) Types |
homepage | https://github.com/enarx/telestes |
repository | https://github.com/enarx/telestes |
max_upload_size | |
id | 581348 |
size | 565,811 |
Telestes provides an implementation of Media Types; also formerly known
as MIME Types. This crate emphasizes performance and correctness; as well
as the ability to parse in a const
context. It is no_std
-enabled.
To get started, check out the [MediaType
] and [Essence
] types.
alloc
- enables the use of types in the alloc
crateserde
- enables serialization/deserialization using serde
db
- enables the const
database of IANA Media TypesThe terminology of this crate should follow the terminology broadly used
in the RFCs or other notable documentation; with one exception. Since the
type
terminology of a Media Type collides with the Rust type
keyword,
we have chosen the terms genus
and species
to replace the terms for
type
and subtype
, respectively.
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"));
This crate is named after the character Telestes from the Greek play Seven Against Thebes by Aeschylus. This character is possibly history's first recorded pantomime.
License: Apache-2.0