1#![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};