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.
|
||||
#[inline]
|
||||
pub fn version(&self) -> &HttpVersion { &self.version }
|
||||
pub fn version(&self) -> HttpVersion { self.version }
|
||||
|
||||
/// Read the Request headers.
|
||||
#[inline]
|
||||
|
||||
@@ -37,7 +37,7 @@ impl Response {
|
||||
|
||||
/// Get the status from the server.
|
||||
#[inline]
|
||||
pub fn status(&self) -> &status::StatusCode { &self.status }
|
||||
pub fn status(&self) -> status::StatusCode { self.status }
|
||||
|
||||
/// Get the raw status code and reason.
|
||||
#[inline]
|
||||
@@ -45,7 +45,7 @@ impl Response {
|
||||
|
||||
/// Get the HTTP version of this response from the server.
|
||||
#[inline]
|
||||
pub fn version(&self) -> &version::HttpVersion { &self.version }
|
||||
pub fn version(&self) -> version::HttpVersion { self.version }
|
||||
|
||||
/// Take the `Body` of this response.
|
||||
#[inline]
|
||||
|
||||
@@ -37,14 +37,14 @@ impl Request {
|
||||
|
||||
/// The version of HTTP for this request.
|
||||
#[inline]
|
||||
pub fn version(&self) -> &HttpVersion { &self.version }
|
||||
pub fn version(&self) -> HttpVersion { self.version }
|
||||
|
||||
/// The remote socket address of this request
|
||||
///
|
||||
/// This is an `Option`, because some underlying transports may not have
|
||||
/// a socket address, such as Unix Sockets.
|
||||
#[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.
|
||||
#[inline]
|
||||
|
||||
@@ -26,13 +26,13 @@ impl<B> Response<B> {
|
||||
|
||||
/// The status of this response.
|
||||
#[inline]
|
||||
pub fn status(&self) -> &StatusCode {
|
||||
&self.head.subject
|
||||
pub fn status(&self) -> StatusCode {
|
||||
self.head.subject
|
||||
}
|
||||
|
||||
/// The HTTP version of this response.
|
||||
#[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.
|
||||
#[inline]
|
||||
|
||||
@@ -550,9 +550,9 @@ impl Default for StatusCode {
|
||||
}
|
||||
}
|
||||
|
||||
impl Into<u16> for StatusCode {
|
||||
fn into(self) -> u16 {
|
||||
self.to_u16()
|
||||
impl From<StatusCode> for u16 {
|
||||
fn from(code: StatusCode) -> u16 {
|
||||
code.to_u16()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ macro_rules! test {
|
||||
let work = res.join(rx).map(|r| r.0);
|
||||
|
||||
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");
|
||||
)*
|
||||
|
||||
Reference in New Issue
Block a user