use super::SomeSharedData; #[cfg(feature = "http")] use std::convert::TryInto; use worker::{Env, Method, Request, RequestInit, Response, Result}; #[worker::send] pub async fn handle_remote_by_request( req: Request, env: Env, _data: SomeSharedData, ) -> Result { let fetcher = env.service("remote")?; let response = fetcher.fetch_request(req).await?; #[cfg(feature = "http")] let result = Ok(TryInto::::try_into(response)?); #[cfg(not(feature = "http"))] let result = Ok(response); result } #[worker::send] pub async fn handle_remote_by_path( req: Request, env: Env, _data: SomeSharedData, ) -> Result { let fetcher = env.service("remote")?; let mut init = RequestInit::new(); init.with_method(Method::Post); let response = fetcher.fetch(req.url()?.to_string(), Some(init)).await?; #[cfg(feature = "http")] let result = Ok(TryInto::::try_into(response)?); #[cfg(not(feature = "http"))] let result = Ok(response); result }