Skip to main content

soma_http_api/
lib.rs

1//! Reusable HTTP API surface mechanics (plan section 3.11).
2//!
3//! `soma-http-server` (a later slice, plan section 3.12) owns generic Axum
4//! server lifecycle — listener binding, graceful shutdown, middleware. This
5//! crate owns the layer above that: reusable *API surface* shapes — response
6//! envelopes, error/problem-details bodies, liveness/readiness probe DTOs,
7//! route inventory metadata, and pagination query DTOs.
8//!
9//! This crate must stay product-agnostic: no Soma action names, no `/v1/*`
10//! route paths, no auth policy, no product service/runtime state. Product
11//! routes and their concrete data live in `soma-api`.
12
13pub mod json;
14pub mod pagination;
15pub mod probe;
16pub mod problem;
17pub mod response;
18pub mod route_inventory;