feat(client): Response.status() now returns a StatusCode
Previously, it would return `&StatusCode`. Returning a reference was actually bigger than the enum itself, and prevented using `Into` on the return result directly. BREAKING CHANGE: If you were explicitly checking the status, such as with an equality comparison, you will need to use the value instead of a reference.
This commit is contained in:
@@ -36,7 +36,7 @@ impl<B> Request<B> {
|
|||||||
|
|
||||||
/// Read the Request Version.
|
/// Read the Request Version.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn version(&self) -> &HttpVersion { &self.version }
|
pub fn version(&self) -> HttpVersion { self.version }
|
||||||
|
|
||||||
/// Read the Request headers.
|
/// Read the Request headers.
|
||||||
#[inline]
|
#[inline]
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ impl Response {
|
|||||||
|
|
||||||
/// Get the status from the server.
|
/// Get the status from the server.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn status(&self) -> &status::StatusCode { &self.status }
|
pub fn status(&self) -> status::StatusCode { self.status }
|
||||||
|
|
||||||
/// Get the raw status code and reason.
|
/// Get the raw status code and reason.
|
||||||
#[inline]
|
#[inline]
|
||||||
@@ -45,7 +45,7 @@ impl Response {
|
|||||||
|
|
||||||
/// Get the HTTP version of this response from the server.
|
/// Get the HTTP version of this response from the server.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn version(&self) -> &version::HttpVersion { &self.version }
|
pub fn version(&self) -> version::HttpVersion { self.version }
|
||||||
|
|
||||||
/// Take the `Body` of this response.
|
/// Take the `Body` of this response.
|
||||||
#[inline]
|
#[inline]
|
||||||
|
|||||||
@@ -37,14 +37,14 @@ impl Request {
|
|||||||
|
|
||||||
/// The version of HTTP for this request.
|
/// The version of HTTP for this request.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn version(&self) -> &HttpVersion { &self.version }
|
pub fn version(&self) -> HttpVersion { self.version }
|
||||||
|
|
||||||
/// The remote socket address of this request
|
/// The remote socket address of this request
|
||||||
///
|
///
|
||||||
/// This is an `Option`, because some underlying transports may not have
|
/// This is an `Option`, because some underlying transports may not have
|
||||||
/// a socket address, such as Unix Sockets.
|
/// a socket address, such as Unix Sockets.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn remote_addr(&self) -> Option<&SocketAddr> { self.remote_addr.as_ref() }
|
pub fn remote_addr(&self) -> Option<SocketAddr> { self.remote_addr }
|
||||||
|
|
||||||
/// The target path of this Request.
|
/// The target path of this Request.
|
||||||
#[inline]
|
#[inline]
|
||||||
|
|||||||
@@ -26,13 +26,13 @@ impl<B> Response<B> {
|
|||||||
|
|
||||||
/// The status of this response.
|
/// The status of this response.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn status(&self) -> &StatusCode {
|
pub fn status(&self) -> StatusCode {
|
||||||
&self.head.subject
|
self.head.subject
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The HTTP version of this response.
|
/// The HTTP version of this response.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn version(&self) -> &version::HttpVersion { &self.head.version }
|
pub fn version(&self) -> version::HttpVersion { self.head.version }
|
||||||
|
|
||||||
/// Get a mutable reference to the Headers.
|
/// Get a mutable reference to the Headers.
|
||||||
#[inline]
|
#[inline]
|
||||||
|
|||||||
@@ -550,9 +550,9 @@ impl Default for StatusCode {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Into<u16> for StatusCode {
|
impl From<StatusCode> for u16 {
|
||||||
fn into(self) -> u16 {
|
fn from(code: StatusCode) -> u16 {
|
||||||
self.to_u16()
|
code.to_u16()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ macro_rules! test {
|
|||||||
let work = res.join(rx).map(|r| r.0);
|
let work = res.join(rx).map(|r| r.0);
|
||||||
|
|
||||||
let res = core.run(work).unwrap();
|
let res = core.run(work).unwrap();
|
||||||
assert_eq!(res.status(), &StatusCode::$client_status, "status is invalid");
|
assert_eq!(res.status(), StatusCode::$client_status, "status is invalid");
|
||||||
$(
|
$(
|
||||||
assert_eq!(res.headers().get(), Some(&$response_headers), "headers are invalid");
|
assert_eq!(res.headers().get(), Some(&$response_headers), "headers are invalid");
|
||||||
)*
|
)*
|
||||||
|
|||||||
Reference in New Issue
Block a user