[−][src]Struct headers::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();
Implementations
impl Upgrade
[src]
Trait Implementations
impl Clone for Upgrade
[src]
impl Debug for Upgrade
[src]
impl Header for Upgrade
[src]
fn name() -> &'static HeaderName
[src]
fn decode<'i, I>(values: &mut I) -> Result<Self, Error> where
I: Iterator<Item = &'i HeaderValue>,
[src]
I: Iterator<Item = &'i HeaderValue>,
fn encode<E: Extend<HeaderValue>>(&self, values: &mut E)
[src]
impl PartialEq<Upgrade> for Upgrade
[src]
impl StructuralPartialEq for Upgrade
[src]
Auto Trait Implementations
impl RefUnwindSafe for Upgrade
impl Send for Upgrade
impl Sync for Upgrade
impl Unpin for Upgrade
impl UnwindSafe for Upgrade
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,