Crate telestes

Crate telestes 

Source
Expand description

§Welcome!

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.

§Optional Features

  • alloc - enables the use of types in the alloc crate
  • serde - enables serialization/deserialization using serde
  • db - enables the const database of IANA Media Types

§Terminology

The 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.

§Example

use telestes::{MediaType, media};

const MT: MediaType<&'static str> = media!("text/plain; charset=UTF-8");
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"));

§Naming

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.

Modules§

dbdb
A Database of all IANA-registered Media Types

Macros§

media
A helper to easily create media types in const contexts

Structs§

Error
A parsing error
Essence
The essence of a MediaType.
MediaType
A Media Type
Parameters
An iterator for Media Type parameters
Uncased
A wrapper for uncased ASCII comparisons

Traits§

MediaTyped
A trait associating a Media Type with a Rust type