Skip to main content

minco_http/
lib.rs

1//! Axum/Tower delivery conventions shared by local and Lambda runtimes.
2#![forbid(unsafe_code)]
3
4mod authorization;
5mod error;
6mod middleware;
7mod plugin;
8mod principal;
9mod request;
10mod request_id;
11mod resource;
12mod response;
13
14pub use authorization::authorize_operation;
15pub use error::{ApiFailure, ProblemDetails, problem_response};
16pub use middleware::{
17    CSRF_HEADER, DisableResponseCompression, HttpConfigurationError, HttpHeaderPolicy,
18    HttpRuntimeConfig, REQUEST_ID_HEADER, RESPONSE_COMPRESSION_MIN_BYTES,
19    apply_standard_middleware,
20};
21pub use minco_contract::{
22    ContractAuthorizationAlternative, ContractAuthorizationPolicy, ContractValidate,
23    ContractValidationErrors,
24};
25pub use plugin::{
26    HttpCompositionError, HttpModule, compose_plugin_http, merge_plugin_http_modules,
27    required_header_policy, required_request_body_bytes, validate_plugin_http_modules,
28};
29pub use principal::{
30    PRINCIPAL_SCOPES_CLAIM, Principal, PrincipalError, RequestMetadata, principal_from_headers,
31};
32pub use request::{ValidatedJson, ValidatedPath, ValidatedQuery};
33pub use request_id::{
34    MAX_REQUEST_ID_BYTES, is_valid_request_id, request_id_from_headers, safe_request_id,
35};
36pub use resource::{
37    Cursor, CursorPageInfo, EntityTagError, ResourceCollection, ResourceDocument,
38    ResourceListPolicy, ResourceListQuery, ResourceQueryError, SortDirection, SortTerm,
39    StrongEntityTag, parse_if_match, parse_resource_list_query,
40};
41pub use response::{
42    ApiResponse, ApiResponseMetadata, ApiResponseMetadataError, BearerChallenge,
43    DEPRECATION_HEADER, SUNSET_HEADER,
44};