pub struct Upgrade(HeaderValue);
Expand description
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();
Tuple Fields§
§0: HeaderValue
Implementations§
Trait Implementations§
source§impl Header for Upgrade
impl Header for Upgrade
impl StructuralPartialEq for Upgrade
Auto Trait Implementations§
impl !Freeze for Upgrade
impl RefUnwindSafe for Upgrade
impl Send for Upgrade
impl Sync for Upgrade
impl Unpin for Upgrade
impl UnwindSafe for Upgrade
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)