indexbus_platform_http/
lib.rs

1//! `indexbus-platform-http` provides HTTP server/client integration points.
2//!
3//! This crate is intentionally small and **feature-gated**. It provides:
4//!
5//! - server-side helpers for standard liveness/readiness endpoints
6//! - a placeholder client surface intended to grow behind optional integrations
7//!
8//! ## Feature flags
9//!
10//! - `std` (default): required for all current functionality.
11//! - `axum`: enables `axum` router helpers for health and readiness endpoints.
12//! - `reqwest`: reserved for a future `reqwest`-backed client implementation.
13//!
14//! ## Contracts
15//!
16//! - Health/readiness endpoints are **best-effort** operational signals, not correctness proofs.
17//! - Readiness is cooperative: application code must call `mark_ready()`/`mark_not_ready()`.
18//! - This crate does not define authentication policy; compose it at the application layer.
19
20#![cfg_attr(not(feature = "std"), no_std)]
21#![deny(missing_docs)]
22
23#[cfg(all(not(feature = "std"), not(doc)))]
24compile_error!("indexbus-platform-http currently requires the `std` feature");
25
26#[cfg(feature = "std")]
27extern crate std;
28
29/// Error types and `Result` aliases.
30pub mod errors;
31/// Common re-exports for consumers of this crate.
32pub mod prelude;
33
34/// HTTP client integration points.
35pub mod client;
36/// HTTP server integration points.
37pub mod server;
38
39mod internal;