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 capability;
10mod catalog;
11mod endpoint;
12mod error_mapping;
13mod identifier;
14mod path;
15mod policy;
16mod request;
17mod response;
18mod telemetry;
19
20pub use api::{
21    EndpointContracts, MediaType, OperationDocumentation, RequestContract, RequestContractLocation,
22    ResponseContract,
23};
24pub use capability::HttpEnforcementCapability;
25pub use catalog::{EndpointCatalog, EndpointGroup};
26pub use endpoint::EndpointMetadata;
27pub use error_mapping::{
28    DefaultHttpErrorMapper, HttpErrorBody, HttpErrorMapper, HttpErrorResponse, default_error_code,
29    default_error_response, default_error_status,
30};
31pub use http::{HeaderMap, HeaderName, HeaderValue, Method, StatusCode, Uri};
32pub use identifier::{ContractId, EndpointId};
33pub use path::RoutePath;
34pub use policy::{
35    AllowedOrigins, BodyLimitPolicy, CacheVisibility, CorsPolicy, CsrfPolicy, FrameOptions,
36    HstsPolicy, RateLimitPolicy, RateLimitScope, ReferrerPolicy, ResponseCachePolicy,
37    SecurityHeadersPolicy,
38};
39pub use request::{HttpRequestParts, HttpRequestView};
40pub use response::{AuthChallenge, HttpResponseEffects, Redirect, ResponseCookie, SameSite};
41pub use soaprs_auth::{AuthorizationName, AuthorizationPolicy};
42pub use telemetry::TelemetryPolicy;