Struct hyper::header::Link
[−]
[src]
pub struct Link { /* fields omitted */ }
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]
fn new(link_values: Vec<LinkValue>) -> Link
[src]
Create Link
from a Vec<LinkValue>
.
fn values(&self) -> &[LinkValue]
[src]
Get the Link
header's LinkValue
s.
fn push_value(&mut self, link_value: LinkValue)
[src]
Add a LinkValue
instance to the Link
header's values.
Trait Implementations
impl Clone for Link
[src]
fn clone(&self) -> Link
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq for Link
[src]
fn eq(&self, __arg_0: &Link) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Link) -> bool
[src]
This method tests for !=
.
impl Debug for Link
[src]
impl Header for Link
[src]
fn header_name() -> &'static str
[src]
Returns the name of the header field this belongs to. Read more
fn parse_header(raw: &Raw) -> Result<Link>
[src]
Parse a header from a raw stream of bytes. Read more
fn fmt_header(&self, f: &mut Formatter) -> Result
[src]
Format a header to outgoing stream. Read more
impl Display for Link
[src]
fn fmt(&self, f: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more