Struct headers_ext::Upgrade[][src]

pub struct Upgrade(_);

Upgrade header, defined in RFC7230

The Upgrade header field is intended to provide a simple mechanism for transitioning from HTTP/1.1 to some other protocol on the same connection. A client MAY send a list of protocols in the Upgrade header field of a request to invite the server to switch to one or more of those protocols, in order of descending preference, before sending the final response. A server MAY ignore a received Upgrade header field if it wishes to continue using the current protocol on that connection. Upgrade cannot be used to insist on a protocol change.

ABNF

Upgrade          = 1#protocol

protocol         = protocol-name ["/" protocol-version]
protocol-name    = token
protocol-version = token

Example values

  • HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11

Note

In practice, the Upgrade header is never that complicated. In most cases, it is only ever a single value, such as "websocket".

Examples

use headers::Upgrade;

let ws = Upgrade::websocket();

Methods

impl Upgrade
[src]

Constructs an Upgrade: websocket header.

Trait Implementations

impl Clone for Upgrade
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for Upgrade
[src]

Formats the value using the given formatter. Read more

impl PartialEq for Upgrade
[src]

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

This method tests for !=.

Auto Trait Implementations

impl Send for Upgrade

impl Sync for Upgrade