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.
Content-Type = media-type
text/html; charset=utf-8
application/json
use hyper::header::{Headers, ContentType};
let mut headers = Headers::new();
headers.set(
ContentType::json()
);
use hyper::header::{Headers, ContentType};
use hyper::mime;
let mut headers = Headers::new();
headers.set(
ContentType(mime::TEXT_HTML)
);
A constructor to easily create a Content-Type: application/json
header.
A constructor to easily create a Content-Type: text/plain
header.
A constructor to easily create a Content-Type: text/plain; charset=utf-8
header.
A constructor to easily create a Content-Type: text/html
header.
A constructor to easily create a Content-Type: text/xml
header.
A constructor to easily create a Content-Type: application/www-form-url-encoded
header.
A constructor to easily create a Content-Type: image/jpeg
header.
A constructor to easily create a Content-Type: image/png
header.
A constructor to easily create a Content-Type: application/octet-stream
header.
Get the top level media type for this Mime
.
let mime = mime::TEXT_PLAIN;
assert_eq!(mime.type_(), "text");
assert_eq!(mime.type_(), mime::TEXT);
Get the subtype of this Mime
.
let mime = mime::TEXT_PLAIN;
assert_eq!(mime.subtype(), "plain");
assert_eq!(mime.subtype(), mime::PLAIN);
Get an optional +suffix for this Mime
.
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());
Look up a parameter by name.
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");
Returns an iterator over the parameters.
Performs copy-assignment from source
. Read more
Formats the value using the given formatter. Read more
This method tests for self
and other
values to be equal, and is used by ==
. Read more
This method tests for !=
.
type Target = Mime
The resulting type after dereferencing.
Mutably dereferences the value.
Returns the name of the header field this belongs to. Read more
Parse a header from a raw stream of bytes. Read more
Format a header to outgoing stream. Read more
Formats the value using the given formatter. Read more