multistore_cf_workers/lib.rs
1//! Cloudflare Workers runtime adapters for the multistore S3 proxy gateway.
2//!
3//! This crate provides reusable runtime primitives for running a multistore
4//! proxy on Cloudflare Workers:
5//!
6//! - `FetchConnector` — `object_store::client::HttpConnector` using the Fetch API
7//! - [`JsBody`] — zero-copy body wrapper around `web_sys::ReadableStream`
8//! - [`WorkerBackend`] — `ProxyBackend` implementation using the Fetch API
9//! - [`WorkerSubscriber`] — `tracing::Subscriber` routing to `console.log`
10//! - [`NoopCredentialRegistry`] — anonymous-only credential registry
11//! - [`response`] — helpers for building `web_sys::Response` from proxy results
12//! - [`add_cors_headers`] — set permissive CORS headers on a `HeaderMap`
13
14pub(crate) mod fetch_connector;
15
16pub mod backend;
17pub mod body;
18pub mod cors;
19pub mod headers;
20pub mod noop_creds;
21pub mod request;
22pub mod response;
23pub mod tracing_layer;
24
25pub use backend::WorkerBackend;
26pub use body::{collect_js_body, JsBody};
27pub use cors::add_cors_headers;
28pub use headers::WsHeaders;
29pub use noop_creds::NoopCredentialRegistry;
30pub use request::RequestParts;
31pub use response::{headermap_from_js, GatewayResponseExt};
32pub use tracing_layer::WorkerSubscriber;