[−][src]Struct websocket::header::Link
The Link
header, defined in
RFC5988
ABNF
Link = "Link" ":" #link-value
link-value = "<" URI-Reference ">" *( ";" link-param )
link-param = ( ( "rel" "=" relation-types )
| ( "anchor" "=" <"> URI-Reference <"> )
| ( "rev" "=" relation-types )
| ( "hreflang" "=" Language-Tag )
| ( "media" "=" ( MediaDesc | ( <"> MediaDesc <"> ) ) )
| ( "title" "=" quoted-string )
| ( "title*" "=" ext-value )
| ( "type" "=" ( media-type | quoted-mt ) )
| ( link-extension ) )
link-extension = ( parmname [ "=" ( ptoken | quoted-string ) ] )
| ( ext-name-star "=" ext-value )
ext-name-star = parmname "*" ; reserved for RFC2231-profiled
; extensions. Whitespace NOT
; allowed in between.
ptoken = 1*ptokenchar
ptokenchar = "!" | "#" | "$" | "%" | "&" | "'" | "("
| ")" | "*" | "+" | "-" | "." | "/" | DIGIT
| ":" | "<" | "=" | ">" | "?" | "@" | ALPHA
| "[" | "]" | "^" | "_" | "`" | "{" | "|"
| "}" | "~"
media-type = type-name "/" subtype-name
quoted-mt = <"> media-type <">
relation-types = relation-type
| <"> relation-type *( 1*SP relation-type ) <">
relation-type = reg-rel-type | ext-rel-type
reg-rel-type = LOALPHA *( LOALPHA | DIGIT | "." | "-" )
ext-rel-type = URI
Example values
Link: <http://example.com/TheBook/chapter2>; rel="previous"; title="previous chapter"
Link: </TheBook/chapter2>; rel="previous"; title*=UTF-8'de'letztes%20Kapitel, </TheBook/chapter4>; rel="next"; title*=UTF-8'de'n%c3%a4chstes%20Kapitel
Examples
use hyper::header::{Headers, Link, LinkValue, RelationType}; let link_value = LinkValue::new("http://example.com/TheBook/chapter2") .push_rel(RelationType::Previous) .set_title("previous chapter"); let mut headers = Headers::new(); headers.set( Link::new(vec![link_value]) );
Methods
impl Link
[src]
impl Link
pub fn new(link_values: Vec<LinkValue>) -> Link
[src]
pub fn new(link_values: Vec<LinkValue>) -> Link
Create Link
from a Vec<LinkValue>
.
pub fn values(&self) -> &[LinkValue]
[src]
pub fn values(&self) -> &[LinkValue]
Get the Link
header's LinkValue
s.
pub fn push_value(&mut self, link_value: LinkValue)
[src]
pub fn push_value(&mut self, link_value: LinkValue)
Add a LinkValue
instance to the Link
header's values.
Trait Implementations
impl Debug for Link
[src]
impl Debug for Link
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl Display for Link
[src]
impl Display for Link
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl FromStr for Link
[src]
impl FromStr for Link
type Err = Error
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Link, Error>
[src]
fn from_str(s: &str) -> Result<Link, Error>
Parses a string s
to return a value of this type. Read more
impl PartialEq<Link> for Link
[src]
impl PartialEq<Link> for Link
fn eq(&self, other: &Link) -> bool
[src]
fn eq(&self, other: &Link) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Link) -> bool
[src]
fn ne(&self, other: &Link) -> bool
This method tests for !=
.
impl HeaderFormat for Link
[src]
impl HeaderFormat for Link
fn fmt_header(&self, f: &mut Formatter) -> Result<(), Error>
[src]
fn fmt_header(&self, f: &mut Formatter) -> Result<(), Error>
Format a header to be output into a TcpStream. Read more
impl Header for Link
[src]
impl Header for Link
fn header_name() -> &'static str
[src]
fn header_name() -> &'static str
Returns the name of the header field this belongs to. Read more
fn parse_header(raw: &[Vec<u8>]) -> Result<Link, Error>
[src]
fn parse_header(raw: &[Vec<u8>]) -> Result<Link, Error>
Parse a header from a raw stream of bytes. Read more
impl Clone for Link
[src]
impl Clone for Link
Auto Trait Implementations
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
impl<T> ToString for T where
T: Display + ?Sized,
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
type Owned = T
fn to_owned(&self) -> T
[src]
fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)
[src]
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<T> HeaderClone for T where
T: Sealed,
[src]
impl<T> HeaderClone for T where
T: Sealed,
impl<T> Typeable for T where
T: Any,
[src]
impl<T> Typeable for T where
T: Any,
impl<T> Erased for T
[src]
impl<T> Erased for T