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-rangediffers from the ABNF. - FIXME:
accept-extis not supported.