summaryrefslogtreecommitdiff
path: root/ext/http/response_body.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ext/http/response_body.rs')
-rw-r--r--ext/http/response_body.rs15
1 files changed, 6 insertions, 9 deletions
diff --git a/ext/http/response_body.rs b/ext/http/response_body.rs
index dac708b96..6b033ffe0 100644
--- a/ext/http/response_body.rs
+++ b/ext/http/response_body.rs
@@ -16,7 +16,6 @@ use deno_core::Resource;
use flate2::write::GzEncoder;
use hyper::body::Frame;
use hyper::body::SizeHint;
-use hyper::header::HeaderMap;
use pin_project::pin_project;
/// Simplification for nested types we use for our streams. We provide a way to convert from
@@ -30,10 +29,6 @@ pub enum ResponseStreamResult {
/// not register a waker and should be called again at the lowest level of this code. Generally this
/// will only be returned from compression streams that require additional buffering.
NoData,
- /// Stream provided trailers.
- // TODO(mmastrac): We are threading trailers through the response system to eventually support Grpc.
- #[allow(unused)]
- Trailers(HeaderMap),
/// Stream failed.
Error(AnyError),
}
@@ -44,7 +39,6 @@ impl From<ResponseStreamResult> for Option<Result<Frame<BufView>, AnyError>> {
ResponseStreamResult::EndOfStream => None,
ResponseStreamResult::NonEmptyBuf(buf) => Some(Ok(Frame::data(buf))),
ResponseStreamResult::Error(err) => Some(Err(err)),
- ResponseStreamResult::Trailers(map) => Some(Ok(Frame::trailers(map))),
// This result should be handled by retrying
ResponseStreamResult::NoData => unimplemented!(),
}
@@ -198,6 +192,11 @@ impl ResponseBytesInner {
_ => Self::Bytes(BufView::from(vec)),
}
}
+
+ /// Did we complete this response successfully?
+ pub fn is_complete(&self) -> bool {
+ matches!(self, ResponseBytesInner::Done | ResponseBytesInner::Empty)
+ }
}
pub struct ResourceBodyAdapter {
@@ -387,9 +386,7 @@ impl PollFrame for GZipResponseStream {
let start_out = stm.total_out();
let res = match frame {
// Short-circuit these and just return
- x @ (ResponseStreamResult::NoData
- | ResponseStreamResult::Error(..)
- | ResponseStreamResult::Trailers(..)) => {
+ x @ (ResponseStreamResult::NoData | ResponseStreamResult::Error(..)) => {
return std::task::Poll::Ready(x)
}
ResponseStreamResult::EndOfStream => {