use crate::component::bindings::fastly::compute::{
http_body, http_req, http_resp, image_optimizer, types,
};
use crate::linking::ComponentCtx;
use wasmtime::component::Resource;
impl image_optimizer::Host for ComponentCtx {
fn transform_image_optimizer_request(
&mut self,
origin_image_request: Resource<http_req::Request>,
origin_image_request_body: Option<Resource<http_body::Body>>,
origin_image_request_backend: Resource<String>,
io_transform_config: image_optimizer::ImageOptimizerTransformOptions,
) -> Result<http_resp::ResponseWithBody, types::Error> {
let origin_image_request_backend =
self.wasi_table.get(&origin_image_request_backend).unwrap();
crate::component::image_optimizer::transform_image_optimizer_request(
&mut self.session,
origin_image_request,
origin_image_request_body,
origin_image_request_backend,
io_transform_config,
)
}
}
impl image_optimizer::HostExtraImageOptimizerTransformOptions for ComponentCtx {
fn drop(
&mut self,
_options: Resource<image_optimizer::ExtraImageOptimizerTransformOptions>,
) -> wasmtime::Result<()> {
Ok(())
}
}