pub struct ContentType(pub Mime);
Expand description
Content-Type
header, defined in RFC 9110 §8.3.
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 actix_web::{http::header::ContentType, HttpResponse};
let res_json = HttpResponse::Ok()
.insert_header(ContentType::json());
let res_html = HttpResponse::Ok()
.insert_header(ContentType(mime::TEXT_HTML));
Tuple Fields§
§0: Mime
Implementations§
source§impl ContentType
impl ContentType
sourcepub fn json() -> ContentType
pub fn json() -> ContentType
Constructs a Content-Type: application/json
header.
sourcepub fn plaintext() -> ContentType
pub fn plaintext() -> ContentType
Constructs a Content-Type: text/plain; charset=utf-8
header.
sourcepub fn html() -> ContentType
pub fn html() -> ContentType
Constructs a Content-Type: text/html; charset=utf-8
header.
sourcepub fn xml() -> ContentType
pub fn xml() -> ContentType
Constructs a Content-Type: text/xml
header.
sourcepub fn form_url_encoded() -> ContentType
pub fn form_url_encoded() -> ContentType
Constructs a Content-Type: application/www-form-url-encoded
header.
sourcepub fn jpeg() -> ContentType
pub fn jpeg() -> ContentType
Constructs a Content-Type: image/jpeg
header.
sourcepub fn png() -> ContentType
pub fn png() -> ContentType
Constructs a Content-Type: image/png
header.
sourcepub fn octet_stream() -> ContentType
pub fn octet_stream() -> ContentType
Constructs a Content-Type: application/octet-stream
header.
Methods from Deref<Target = Mime>§
sourcepub fn type_(&self) -> Name<'_>
pub fn type_(&self) -> Name<'_>
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);
sourcepub fn subtype(&self) -> Name<'_>
pub fn subtype(&self) -> Name<'_>
Get the subtype of this Mime
.
§Example
let mime = mime::TEXT_PLAIN;
assert_eq!(mime.subtype(), "plain");
assert_eq!(mime.subtype(), mime::PLAIN);
sourcepub fn suffix(&self) -> Option<Name<'_>>
pub fn suffix(&self) -> Option<Name<'_>>
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());
sourcepub fn get_param<'a, N>(&'a self, attr: N) -> Option<Name<'a>>
pub fn get_param<'a, N>(&'a self, attr: N) -> Option<Name<'a>>
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");
sourcepub fn essence_str(&self) -> &str
pub fn essence_str(&self) -> &str
Return a &str
of the Mime’s “essence”.
Trait Implementations§
source§impl Clone for ContentType
impl Clone for ContentType
source§fn clone(&self) -> ContentType
fn clone(&self) -> ContentType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ContentType
impl Debug for ContentType
source§impl Deref for ContentType
impl Deref for ContentType
source§impl DerefMut for ContentType
impl DerefMut for ContentType
source§impl Display for ContentType
impl Display for ContentType
source§impl Header for ContentType
impl Header for ContentType
source§fn name() -> HeaderName
fn name() -> HeaderName
source§fn parse<M: HttpMessage>(msg: &M) -> Result<Self, ParseError>
fn parse<M: HttpMessage>(msg: &M) -> Result<Self, ParseError>
source§impl PartialEq for ContentType
impl PartialEq for ContentType
source§impl TryIntoHeaderValue for ContentType
impl TryIntoHeaderValue for ContentType
source§type Error = InvalidHeaderValue
type Error = InvalidHeaderValue
source§fn try_into_value(self) -> Result<HeaderValue, Self::Error>
fn try_into_value(self) -> Result<HeaderValue, Self::Error>
impl Eq for ContentType
impl StructuralPartialEq for ContentType
Auto Trait Implementations§
impl Freeze for ContentType
impl RefUnwindSafe for ContentType
impl Send for ContentType
impl Sync for ContentType
impl Unpin for ContentType
impl UnwindSafe for ContentType
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.