diff options
Diffstat (limited to 'ext/fetch/fs_fetch_handler.rs')
-rw-r--r-- | ext/fetch/fs_fetch_handler.rs | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/ext/fetch/fs_fetch_handler.rs b/ext/fetch/fs_fetch_handler.rs index 6f45ee664..29bad5992 100644 --- a/ext/fetch/fs_fetch_handler.rs +++ b/ext/fetch/fs_fetch_handler.rs @@ -7,12 +7,10 @@ use crate::FetchHandler; use deno_core::error::type_error; use deno_core::futures::FutureExt; use deno_core::futures::TryFutureExt; -use deno_core::futures::TryStreamExt; use deno_core::url::Url; use deno_core::CancelFuture; use deno_core::OpState; -use http::StatusCode; -use http_body_util::BodyExt; +use reqwest::StatusCode; use std::rc::Rc; use tokio_util::io::ReaderStream; @@ -25,21 +23,19 @@ impl FetchHandler for FsFetchHandler { fn fetch_file( &self, _state: &mut OpState, - url: &Url, + url: Url, ) -> (CancelableResponseFuture, Option<Rc<CancelHandle>>) { let cancel_handle = CancelHandle::new_rc(); - let path_result = url.to_file_path(); let response_fut = async move { - let path = path_result?; + let path = url.to_file_path()?; let file = tokio::fs::File::open(path).map_err(|_| ()).await?; - let stream = ReaderStream::new(file) - .map_ok(hyper::body::Frame::data) - .map_err(Into::into); - let body = http_body_util::StreamBody::new(stream).boxed(); + let stream = ReaderStream::new(file); + let body = reqwest::Body::wrap_stream(stream); let response = http::Response::builder() .status(StatusCode::OK) .body(body) - .map_err(|_| ())?; + .map_err(|_| ())? + .into(); Ok::<_, ()>(response) } .map_err(move |_| { |