mod context;
mod entrypoint;
mod handler;
mod host;
mod reactor;
mod types;
mod utils;
pub mod bootstrap;
pub mod client;
pub mod event;
pub mod extract;
pub mod grpc;
pub mod stream;
pub mod timer;
pub mod user_agent;
pub mod hl;
#[cfg(feature = "middleware")]
pub mod middleware;
#[cfg(not(feature = "middleware"))]
pub mod middleware;
pub mod plugin;
pub mod shared_data;
pub(crate) mod conversions;
pub(crate) mod http_constants;
pub(crate) mod macros;
pub use entrypoint::Entrypoint;
pub use extract::config::Configuration;
#[cfg(feature = "host")]
pub use host::{
clock::{Clock, DefaultClock, TimeUnit},
shared_data::SharedData,
DefaultHost, Host,
};
#[cfg(all(feature = "host", feature = "experimental_metrics"))]
pub use host::metrics::{MetricType, MetricsHost};
pub use plugin::Plugin;
pub type BoxError = Box<dyn std::error::Error>;
pub(crate) type BoxFuture<'c, Out> = std::pin::Pin<Box<dyn std::future::Future<Output = Out> + 'c>>;
#[cfg(target_arch = "wasm32")]
pub use proxy_wasm;
#[cfg(not(target_arch = "wasm32"))]
pub use proxy_wasm_stub as proxy_wasm;