1mod context;
14mod entrypoint;
15mod handler;
16mod host;
17mod reactor;
18mod types;
19mod utils;
20
21pub mod bootstrap;
22pub mod client;
23pub mod event;
24pub mod extract;
25pub mod grpc;
26pub mod stream;
27pub mod timer;
28pub mod user_agent;
29
30pub mod hl;
31
32#[cfg(feature = "middleware")]
33pub mod middleware;
34
35#[cfg(not(feature = "middleware"))]
36pub mod middleware;
37
38pub mod plugin;
39pub mod shared_data;
40
41pub(crate) mod conversions;
42pub(crate) mod http_constants;
43pub(crate) mod macros;
44
45pub use entrypoint::Entrypoint;
46pub use extract::config::Configuration;
47
48#[cfg(feature = "host")]
49pub use host::{
50 clock::{Clock, DefaultClock, TimeUnit},
51 shared_data::SharedData,
52 DefaultHost, Host,
53};
54
55#[cfg(all(feature = "host", feature = "experimental_metrics"))]
56pub use host::metrics::{MetricType, MetricsHost};
57
58pub use plugin::Plugin;
59
60pub type BoxError = Box<dyn std::error::Error>;
62pub(crate) type BoxFuture<'c, Out> = std::pin::Pin<Box<dyn std::future::Future<Output = Out> + 'c>>;
63
64#[cfg(target_arch = "wasm32")]
69pub use proxy_wasm;
70#[cfg(not(target_arch = "wasm32"))]
71pub use proxy_wasm_stub as proxy_wasm;