Skip to main content

soaprs_http/
lib.rs

1//! Transport-neutral HTTP service-provider interface.
2//!
3//! Framework, authentication, rate-limit, schema, documentation, and telemetry
4//! packages share these endpoint declarations and request/response effects.
5//! Concrete handlers, body extractors, routers, servers, and runtimes stay in
6//! adapter crates.
7
8mod api;
9mod catalog;
10mod endpoint;
11mod error_mapping;
12mod identifier;
13mod path;
14mod policy;
15mod request;
16mod response;
17mod telemetry;
18
19pub use api::{
20    EndpointContracts, MediaType, OperationDocumentation, RequestContract, RequestContractLocation,
21    ResponseContract,
22};
23pub use catalog::{EndpointCatalog, EndpointGroup};
24pub use endpoint::EndpointMetadata;
25pub use error_mapping::{
26    DefaultHttpErrorMapper, HttpErrorBody, HttpErrorMapper, HttpErrorResponse, default_error_code,
27    default_error_response, default_error_status,
28};
29pub use http::{HeaderMap, HeaderName, HeaderValue, Method, StatusCode, Uri};
30pub use identifier::{ContractId, EndpointId};
31pub use path::RoutePath;
32pub use policy::{
33    AllowedOrigins, BodyLimitPolicy, CacheVisibility, CorsPolicy, CsrfPolicy, FrameOptions,
34    HstsPolicy, RateLimitPolicy, RateLimitScope, ReferrerPolicy, ResponseCachePolicy,
35    SecurityHeadersPolicy,
36};
37pub use request::{HttpRequestParts, HttpRequestView};
38pub use response::{AuthChallenge, HttpResponseEffects, Redirect, ResponseCookie, SameSite};
39pub use soaprs_auth::{AuthorizationName, AuthorizationPolicy};
40pub use telemetry::TelemetryPolicy;