Skip to content

Commit 573abec

Browse files
committed
stabilize upgrade in response
1 parent 68c4007 commit 573abec

File tree

1 file changed

+1
-67
lines changed

1 file changed

+1
-67
lines changed

src/response.rs

Lines changed: 1 addition & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ use crate::headers::{
1515
use crate::mime::Mime;
1616
use crate::trailers::{self, Trailers};
1717
use crate::{Body, Extensions, StatusCode, Version};
18-
19-
cfg_unstable! {
20-
use crate::upgrade;
21-
}
18+
use crate::upgrade;
2219

2320
#[cfg(not(feature = "unstable"))]
2421
pin_project_lite::pin_project! {
@@ -44,38 +41,6 @@ pin_project_lite::pin_project! {
4441
has_trailers: bool,
4542
trailers_sender: Option<async_channel::Sender<Trailers>>,
4643
trailers_receiver: Option<async_channel::Receiver<Trailers>>,
47-
#[pin]
48-
body: Body,
49-
ext: Extensions,
50-
local_addr: Option<String>,
51-
peer_addr: Option<String>,
52-
}
53-
}
54-
55-
#[cfg(feature = "unstable")]
56-
pin_project_lite::pin_project! {
57-
/// An HTTP response.
58-
///
59-
/// # Examples
60-
///
61-
/// ```
62-
/// # fn main() -> Result<(), http_types::Error> {
63-
/// #
64-
/// use http_types::{Response, StatusCode};
65-
///
66-
/// let mut res = Response::new(StatusCode::Ok);
67-
/// res.set_body("Hello, Nori!");
68-
/// #
69-
/// # Ok(()) }
70-
/// ```
71-
#[derive(Debug)]
72-
pub struct Response {
73-
status: StatusCode,
74-
headers: Headers,
75-
version: Option<Version>,
76-
trailers_sender: Option<async_channel::Sender<Trailers>>,
77-
trailers_receiver: Option<async_channel::Receiver<Trailers>>,
78-
has_trailers: bool,
7944
upgrade_sender: Option<async_channel::Sender<upgrade::Connection>>,
8045
upgrade_receiver: Option<async_channel::Receiver<upgrade::Connection>>,
8146
has_upgrade: bool,
@@ -91,31 +56,6 @@ impl Response {
9156
/// Create a new response.
9257
#[cfg(not(feature = "unstable"))]
9358
pub fn new<S>(status: S) -> Self
94-
where
95-
S: TryInto<StatusCode>,
96-
S::Error: Debug,
97-
{
98-
let status = status
99-
.try_into()
100-
.expect("Could not convert into a valid `StatusCode`");
101-
let (trailers_sender, trailers_receiver) = async_channel::bounded(1);
102-
Self {
103-
status,
104-
headers: Headers::new(),
105-
version: None,
106-
body: Body::empty(),
107-
trailers_sender: Some(trailers_sender),
108-
trailers_receiver: Some(trailers_receiver),
109-
has_trailers: false,
110-
ext: Extensions::new(),
111-
peer_addr: None,
112-
local_addr: None,
113-
}
114-
}
115-
116-
/// Create a new response.
117-
#[cfg(feature = "unstable")]
118-
pub fn new<S>(status: S) -> Self
11959
where
12060
S: TryInto<StatusCode>,
12161
S::Error: Debug,
@@ -558,7 +498,6 @@ impl Response {
558498
}
559499

560500
/// Sends an upgrade connection to the a receiver.
561-
#[cfg(feature = "unstable")]
562501
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
563502
pub fn send_upgrade(&mut self) -> upgrade::Sender {
564503
self.has_upgrade = true;
@@ -570,7 +509,6 @@ impl Response {
570509
}
571510

572511
/// Receive an upgraded connection from a sender.
573-
#[cfg(feature = "unstable")]
574512
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
575513
pub async fn recv_upgrade(&mut self) -> upgrade::Receiver {
576514
self.has_upgrade = true;
@@ -582,7 +520,6 @@ impl Response {
582520
}
583521

584522
/// Returns `true` if a protocol upgrade is in progress.
585-
#[cfg(feature = "unstable")]
586523
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
587524
pub fn has_upgrade(&self) -> bool {
588525
self.has_upgrade
@@ -646,11 +583,8 @@ impl Clone for Response {
646583
trailers_sender: self.trailers_sender.clone(),
647584
trailers_receiver: self.trailers_receiver.clone(),
648585
has_trailers: false,
649-
#[cfg(feature = "unstable")]
650586
upgrade_sender: self.upgrade_sender.clone(),
651-
#[cfg(feature = "unstable")]
652587
upgrade_receiver: self.upgrade_receiver.clone(),
653-
#[cfg(feature = "unstable")]
654588
has_upgrade: false,
655589
body: Body::empty(),
656590
ext: Extensions::new(),

0 commit comments

Comments
 (0)