feat(status): impl Into<u16> for StatusCode
This commit is contained in:
@@ -82,7 +82,7 @@ impl fmt::Display for RawStatus {
|
|||||||
|
|
||||||
impl From<StatusCode> for RawStatus {
|
impl From<StatusCode> for RawStatus {
|
||||||
fn from(status: StatusCode) -> RawStatus {
|
fn from(status: StatusCode) -> RawStatus {
|
||||||
RawStatus(status.to_u16(), Cow::Borrowed(status.canonical_reason().unwrap_or("")))
|
RawStatus(status.into(), Cow::Borrowed(status.canonical_reason().unwrap_or("")))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,6 @@
|
|||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
|
|
||||||
// shamelessly lifted from Teepee. I tried a few schemes, this really
|
|
||||||
// does seem like the best. Improved scheme to support arbitrary status codes.
|
|
||||||
|
|
||||||
/// An HTTP status code (`status-code` in RFC 7230 et al.).
|
/// An HTTP status code (`status-code` in RFC 7230 et al.).
|
||||||
///
|
///
|
||||||
/// This enum contains all common status codes and an Unregistered
|
/// This enum contains all common status codes and an Unregistered
|
||||||
@@ -230,6 +227,7 @@ pub enum StatusCode {
|
|||||||
impl StatusCode {
|
impl StatusCode {
|
||||||
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
|
// Not part of public API or API contract. Could disappear.
|
||||||
pub fn from_u16(n: u16) -> StatusCode {
|
pub fn from_u16(n: u16) -> StatusCode {
|
||||||
match n {
|
match n {
|
||||||
100 => StatusCode::Continue,
|
100 => StatusCode::Continue,
|
||||||
@@ -296,8 +294,7 @@ impl StatusCode {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[doc(hidden)]
|
fn to_u16(&self) -> u16 {
|
||||||
pub fn to_u16(&self) -> u16 {
|
|
||||||
match *self {
|
match *self {
|
||||||
StatusCode::Continue => 100,
|
StatusCode::Continue => 100,
|
||||||
StatusCode::SwitchingProtocols => 101,
|
StatusCode::SwitchingProtocols => 101,
|
||||||
@@ -553,6 +550,12 @@ impl Default for StatusCode {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Into<u16> for StatusCode {
|
||||||
|
fn into(self) -> u16 {
|
||||||
|
self.to_u16()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// The class of an HTTP `status-code`.
|
/// The class of an HTTP `status-code`.
|
||||||
///
|
///
|
||||||
/// [RFC 7231, section 6 (Response Status Codes)](https://tools.ietf.org/html/rfc7231#section-6):
|
/// [RFC 7231, section 6 (Response Status Codes)](https://tools.ietf.org/html/rfc7231#section-6):
|
||||||
|
|||||||
Reference in New Issue
Block a user