[][src]Struct lettre::message::header::ContentType

pub struct ContentType(pub Mime);

Content-Type header, defined in RFC7231

The Content-Type header field indicates the media type of the associated representation: either the representation enclosed in the message payload or the selected representation, as determined by the message semantics. The indicated media type defines both the data format and how that data is intended to be processed by a recipient, within the scope of the received message semantics, after any content codings indicated by Content-Encoding are decoded.

Although the mime crate allows the mime options to be any slice, this crate forces the use of Vec. This is to make sure the same header can't have more than 1 type. If this is an issue, it's possible to implement Header on a custom struct.

ABNF

Content-Type = media-type

Example values

  • text/html; charset=utf-8
  • application/json

Examples

use hyperx::header::{ContentType, TypedHeaders};

let mut headers = http::HeaderMap::new();

headers.encode(
    &ContentType::json()
);
use hyperx::header::{ContentType, TypedHeaders};
use hyperx::mime;

let mut headers = http::HeaderMap::new();

headers.encode(
    &ContentType(mime::TEXT_HTML)
);

Implementations

impl ContentType[src]

pub fn json() -> ContentType[src]

A constructor to easily create a Content-Type: application/json header.

pub fn text() -> ContentType[src]

A constructor to easily create a Content-Type: text/plain header.

pub fn text_utf8() -> ContentType[src]

A constructor to easily create a Content-Type: text/plain; charset=utf-8 header.

pub fn html() -> ContentType[src]

A constructor to easily create a Content-Type: text/html header.

pub fn xml() -> ContentType[src]

A constructor to easily create a Content-Type: text/xml header.

pub fn form_url_encoded() -> ContentType[src]

A constructor to easily create a Content-Type: application/www-form-url-encoded header.

pub fn jpeg() -> ContentType[src]

A constructor to easily create a Content-Type: image/jpeg header.

pub fn png() -> ContentType[src]

A constructor to easily create a Content-Type: image/png header.

pub fn octet_stream() -> ContentType[src]

A constructor to easily create a Content-Type: application/octet-stream header.

Methods from Deref<Target = Mime>

pub fn type_(&self) -> Name<'_>[src]

Get the top level media type for this Mime.

Example

let mime = mime::TEXT_PLAIN;
assert_eq!(mime.type_(), "text");
assert_eq!(mime.type_(), mime::TEXT);

pub fn subtype(&self) -> Name<'_>[src]

Get the subtype of this Mime.

Example

let mime = mime::TEXT_PLAIN;
assert_eq!(mime.subtype(), "plain");
assert_eq!(mime.subtype(), mime::PLAIN);

pub fn suffix(&self) -> Option<Name<'_>>[src]

Get an optional +suffix for this Mime.

Example

let svg = "image/svg+xml".parse::<mime::Mime>().unwrap();
assert_eq!(svg.suffix(), Some(mime::XML));
assert_eq!(svg.suffix().unwrap(), "xml");


assert!(mime::TEXT_PLAIN.suffix().is_none());

pub fn get_param<'a, N>(&'a self, attr: N) -> Option<Name<'a>> where
    N: PartialEq<Name<'a>>, 
[src]

Look up a parameter by name.

Example

let mime = mime::TEXT_PLAIN_UTF_8;
assert_eq!(mime.get_param(mime::CHARSET), Some(mime::UTF_8));
assert_eq!(mime.get_param("charset").unwrap(), "utf-8");
assert!(mime.get_param("boundary").is_none());

let mime = "multipart/form-data; boundary=ABCDEFG".parse::<mime::Mime>().unwrap();
assert_eq!(mime.get_param(mime::BOUNDARY).unwrap(), "ABCDEFG");

pub fn params(&'a self) -> Params<'a>[src]

Returns an iterator over the parameters.

pub fn essence_str(&self) -> &str[src]

Return a &str of the Mime's "essence".

Trait Implementations

impl Clone for ContentType[src]

impl Debug for ContentType[src]

impl Deref for ContentType[src]

type Target = Mime

The resulting type after dereferencing.

impl DerefMut for ContentType[src]

impl Display for ContentType[src]

impl Eq for ContentType[src]

impl Header for ContentType[src]

impl PartialEq<ContentType> for ContentType[src]

impl StandardHeader for ContentType[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,