soaprs-http 0.3.0

Transport-neutral HTTP contracts and policies for soaprs
Documentation
//! Transport-neutral HTTP service-provider interface.
//!
//! Framework, authentication, rate-limit, schema, documentation, and telemetry
//! packages share these endpoint declarations and request/response effects.
//! Concrete handlers, body extractors, routers, servers, and runtimes stay in
//! adapter crates.

mod api;
mod catalog;
mod endpoint;
mod error_mapping;
mod identifier;
mod path;
mod policy;
mod request;
mod response;
mod telemetry;

pub use api::{
    EndpointContracts, MediaType, OperationDocumentation, RequestContract, RequestContractLocation,
    ResponseContract,
};
pub use catalog::{EndpointCatalog, EndpointGroup};
pub use endpoint::EndpointMetadata;
pub use error_mapping::{
    DefaultHttpErrorMapper, HttpErrorBody, HttpErrorMapper, HttpErrorResponse, default_error_code,
    default_error_response, default_error_status,
};
pub use http::{HeaderMap, HeaderName, HeaderValue, Method, StatusCode, Uri};
pub use identifier::{ContractId, EndpointId};
pub use path::RoutePath;
pub use policy::{
    AllowedOrigins, BodyLimitPolicy, CacheVisibility, CorsPolicy, CsrfPolicy, FrameOptions,
    HstsPolicy, RateLimitPolicy, RateLimitScope, ReferrerPolicy, ResponseCachePolicy,
    SecurityHeadersPolicy,
};
pub use request::{HttpRequestParts, HttpRequestView};
pub use response::{AuthChallenge, HttpResponseEffects, Redirect, ResponseCookie, SameSite};
pub use soaprs_auth::{AuthorizationName, AuthorizationPolicy};
pub use telemetry::TelemetryPolicy;