use super::request::*;
use {
hyper::*,
read_url::*,
wasmtime_wasi::runtime::*,
wasmtime_wasi_http::p2::{body::*, types::*, *},
};
pub struct WasiHttpPlusHooks {
url_context: UrlContextRef,
}
impl WasiHttpPlusHooks {
pub fn new(url_context: UrlContextRef) -> Self {
Self { url_context }
}
}
impl WasiHttpHooks for WasiHttpPlusHooks {
fn send_request(
&mut self,
request: Request<HyperOutgoingBody>,
config: OutgoingRequestConfig,
) -> HttpResult<HostFutureIncomingResponse> {
let url_context = self.url_context.clone();
let handle = spawn(async move { Ok(send_request_plus(request, config, url_context).await) });
Ok(HostFutureIncomingResponse::pending(handle))
}
}