Skip to content

Commit 55689e1

Browse files
authored
Merge pull request #191 from Fishrock123/revert-174
Revert 174
2 parents a749a59 + 7d788b2 commit 55689e1

File tree

2 files changed

+4
-96
lines changed

2 files changed

+4
-96
lines changed

src/response.rs

Lines changed: 3 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use crate::headers::{
1515
};
1616
use crate::mime::Mime;
1717
use crate::trailers::{self, Trailers};
18-
use crate::{Body, Error, Extensions, StatusCode, Version};
18+
use crate::{Body, Extensions, StatusCode, Version};
1919

2020
cfg_unstable! {
2121
use crate::upgrade;
@@ -50,7 +50,6 @@ pin_project_lite::pin_project! {
5050
ext: Extensions,
5151
local_addr: Option<String>,
5252
peer_addr: Option<String>,
53-
error: Option<Error>,
5453
}
5554
}
5655

@@ -86,7 +85,6 @@ pin_project_lite::pin_project! {
8685
ext: Extensions,
8786
local_addr: Option<String>,
8887
peer_addr: Option<String>,
89-
error: Option<Error>,
9088
}
9189
}
9290

@@ -113,7 +111,6 @@ impl Response {
113111
ext: Extensions::new(),
114112
peer_addr: None,
115113
local_addr: None,
116-
error: None,
117114
}
118115
}
119116

@@ -143,7 +140,6 @@ impl Response {
143140
ext: Extensions::new(),
144141
peer_addr: None,
145142
local_addr: None,
146-
error: None,
147143
}
148144
}
149145

@@ -473,21 +469,6 @@ impl Response {
473469
self.body.is_empty()
474470
}
475471

476-
/// Returns an optional reference to the `Error` if the response was created from one, or else `None`.
477-
pub fn error(&self) -> Option<&Error> {
478-
self.error.as_ref()
479-
}
480-
481-
/// Takes the `Error` from the response if one exists, replacing it with `None`.
482-
pub fn take_error(&mut self) -> Option<Error> {
483-
self.error.take()
484-
}
485-
486-
/// Sets an `Error` on the response, accessible via `error()` and `take_error()`.
487-
pub fn set_error(&mut self, error: Error) {
488-
self.error = Some(error);
489-
}
490-
491472
/// Get the HTTP version, if one has been set.
492473
///
493474
/// # Examples
@@ -660,10 +641,8 @@ impl Response {
660641
}
661642

662643
impl Clone for Response {
663-
/// Clone the response, with some exceptions:
664-
/// - The body is resolved to `Body::empty()`.
665-
/// - Any attached extensions are not cloned.
666-
/// - Any attached error is not cloned.
644+
/// Clone the response, resolving the body to `Body::empty()` and removing
645+
/// extensions.
667646
fn clone(&self) -> Self {
668647
Self {
669648
status: self.status,
@@ -682,7 +661,6 @@ impl Clone for Response {
682661
ext: Extensions::new(),
683662
peer_addr: self.peer_addr.clone(),
684663
local_addr: self.local_addr.clone(),
685-
error: None,
686664
}
687665
}
688666
}
@@ -755,58 +733,6 @@ impl Index<&str> for Response {
755733
}
756734
}
757735

758-
#[cfg(not(feature = "unstable"))]
759-
impl From<Error> for Response {
760-
/// Create a new response from an `http_types::Error`.
761-
///
762-
/// This will store the error in the `Response`, allowing it to later be
763-
/// checked via `Response::error()`.
764-
fn from(error: Error) -> Self {
765-
let (trailers_sender, trailers_receiver) = sync::channel(1);
766-
Self {
767-
status: error.status(),
768-
headers: Headers::new(),
769-
version: None,
770-
body: Body::empty(),
771-
trailers_sender: Some(trailers_sender),
772-
trailers_receiver: Some(trailers_receiver),
773-
has_trailers: false,
774-
ext: Extensions::new(),
775-
peer_addr: None,
776-
local_addr: None,
777-
error: Some(error),
778-
}
779-
}
780-
}
781-
782-
#[cfg(feature = "unstable")]
783-
impl From<Error> for Response {
784-
/// Create a new response from an `http_types::Error`.
785-
///
786-
/// This will store the error in the `Response`, allowing it to later be
787-
/// checked via `Response::error()`.
788-
fn from(error: Error) -> Self {
789-
let (trailers_sender, trailers_receiver) = sync::channel(1);
790-
let (upgrade_sender, upgrade_receiver) = sync::channel(1);
791-
Self {
792-
status: error.status(),
793-
headers: Headers::new(),
794-
version: None,
795-
body: Body::empty(),
796-
trailers_sender: Some(trailers_sender),
797-
trailers_receiver: Some(trailers_receiver),
798-
has_trailers: false,
799-
upgrade_sender: Some(upgrade_sender),
800-
upgrade_receiver: Some(upgrade_receiver),
801-
has_upgrade: false,
802-
ext: Extensions::new(),
803-
peer_addr: None,
804-
local_addr: None,
805-
error: Some(error),
806-
}
807-
}
808-
}
809-
810736
impl From<StatusCode> for Response {
811737
fn from(s: StatusCode) -> Self {
812738
Response::new(s)

tests/error.rs

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use http_types::{bail, ensure, ensure_eq, Error, Response, StatusCode};
1+
use http_types::{bail, ensure, ensure_eq, Error, StatusCode};
22
use std::io;
33

44
#[test]
@@ -70,21 +70,3 @@ fn option_ext() {
7070
let err = res.unwrap_err();
7171
assert_eq!(err.status(), StatusCode::NotFound);
7272
}
73-
74-
#[test]
75-
fn to_response() {
76-
let msg = "This is an error";
77-
78-
let error = Error::from_str(StatusCode::NotFound, msg);
79-
let mut res: Response = error.into();
80-
81-
assert!(res.error().is_some());
82-
// Ensure we did not consume the error
83-
assert!(res.error().is_some());
84-
85-
assert_eq!(res.error().unwrap().status(), StatusCode::NotFound);
86-
assert_eq!(res.error().unwrap().to_string(), msg);
87-
88-
res.take_error();
89-
assert!(res.error().is_none());
90-
}

0 commit comments

Comments
 (0)