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]

[src]

Create Link from a Vec<LinkValue>.

Important traits for &'a [u8]
[src]

Get the Link header's LinkValues.

[src]

Add a LinkValue instance to the Link header's values.

Trait Implementations

impl Clone for Link
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl PartialEq for Link
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl Debug for Link
[src]

[src]

Formats the value using the given formatter. Read more

impl Header for Link
[src]

[src]

Returns the name of the header field this belongs to. Read more

[src]

Parse a header from a raw stream of bytes. Read more

impl HeaderFormat for Link
[src]

[src]

Format a header to be output into a TcpStream. Read more

impl Display for Link
[src]

[src]

Formats the value using the given formatter. Read more

impl FromStr for Link
[src]

The associated error which can be returned from parsing.

[src]

Parses a string s to return a value of this type. Read more