Struct hyper::header::Accept
[−]
[src]
pub struct Accept(pub Vec<QualityItem<Mime>>);
Accept
header, defined in RFC7231
The Accept
header field can be used by user agents to specify
response media types that are acceptable. Accept header fields can
be used to indicate that the request is specifically limited to a
small set of desired types, as in the case of a request for an
in-line image
ABNF
Accept = #( media-range [ accept-params ] )
media-range = ( "*/*"
/ ( type "/" "*" )
/ ( type "/" subtype )
) *( OWS ";" OWS parameter )
accept-params = weight *( accept-ext )
accept-ext = OWS ";" OWS token [ "=" ( token / quoted-string ) ]
Example values
audio/*; q=0.2, audio/basic
(*
value won't parse correctly)text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c
Examples
use hyper::header::{Headers, Accept, qitem}; use hyper::mime::{Mime, TopLevel, SubLevel}; let mut headers = Headers::new(); headers.set( Accept(vec![ qitem(Mime(TopLevel::Text, SubLevel::Html, vec![])), ]) );
use hyper::header::{Headers, Accept, qitem}; use hyper::mime::{Mime, TopLevel, SubLevel, Attr, Value}; let mut headers = Headers::new(); headers.set( Accept(vec![ qitem(Mime(TopLevel::Application, SubLevel::Json, vec![(Attr::Charset, Value::Utf8)])), ]) );
use hyper::header::{Headers, Accept, QualityItem, Quality, qitem}; use hyper::mime::{Mime, TopLevel, SubLevel}; let mut headers = Headers::new(); headers.set( Accept(vec![ qitem(Mime(TopLevel::Text, SubLevel::Html, vec![])), qitem(Mime(TopLevel::Application, SubLevel::Ext("xhtml+xml".to_owned()), vec![])), QualityItem::new(Mime(TopLevel::Application, SubLevel::Xml, vec![]), Quality(900)), qitem(Mime(TopLevel::Image, SubLevel::Ext("webp".to_owned()), vec![])), QualityItem::new(Mime(TopLevel::Star, SubLevel::Star, vec![]), Quality(800)) ]) );
Notes
- Using always Mime types to represent
media-range
differs from the ABNF. - FIXME:
accept-ext
is not supported.