Skip to main content

Crate rest

Crate rest 

Source

Re-exports§

pub use auth::encode_hs256;
pub use auth::BearerAuth;
pub use auth::JwtAuth;
pub use auth::JwtError;
pub use auth::RequestSignatureAuth;
pub use client::HttpClient;
pub use client::HttpClientConfig;
pub use client::HttpClientError;
pub use content_encryption::ContentEncryption;
pub use content_encryption::ContentEncryptionError;
pub use content_encryption::ContentEncryptionKey;
pub use content_encryption::ContentKeyProvider;
pub use content_encryption::StaticContentKeyProvider;
pub use content_encryption::CONTENT_ENCRYPTION_HEADER;
pub use content_encryption::CONTENT_KEY_ID_HEADER;
pub use devserver::DevServer;
pub use devserver::DevServerConfig;
pub use extract::FromRequestHeaders;
pub use extract::MultipartConfig;
pub use extract::MultipartForm;
pub use extract::RequestExtractionError;
pub use extract::UploadedFile;
pub use extract::ValidatedForm;
pub use extract::ValidatedHeader;
pub use extract::ValidatedJson;
pub use extract::ValidatedPath;
pub use extract::ValidatedQuery;
pub use extract::ValidatedRequest;
pub use log::LoggingMiddleware;
pub use log::StructuredLogging;
pub use metrics::HttpClientMetrics;
pub use metrics::HttpMetrics;
pub use metrics::MetricsMiddleware;
pub use middleware::AdaptiveLoadShed;
pub use middleware::ConcurrencyLimit;
pub use middleware::RateLimit;
pub use middleware::RequestBodyLimit;
pub use middleware::Timeout;
pub use recovery::Recover;
pub use resilience::RequestId;
pub use resilience::RequestIdValue;
pub use response::grpc_status_to_http;
pub use response::streaming_response;
pub use response::ApiError;
pub use response::ResponsePolicy;
pub use route::RouteGroupConfig;
pub use route::RouteJwtConfig;
pub use route::RouteMiddleware;
pub use route::RouteMiddlewareFuture;
pub use route::RouteMiddlewareNext;
pub use route::RoutePolicyConfig;
pub use security::SecurityHeaders;
pub use server::RestServer;
pub use server::RestServerConfig;
pub use server::RestServerConfigError;
pub use server::ServerlessHandler;
pub use server::ServerlessRequest;
pub use server::ServerlessResponse;
pub use sse::sse_response;
pub use sse::SseEvent;
pub use static_assets::EmbeddedAsset;
pub use static_assets::StaticAssets;
pub use static_assets::StaticAssetsError;
pub use trace::OpenTelemetryTracing;
pub use trace::TraceContextMiddleware;

Modules§

auth
client
content_encryption
devserver
extract
log
metrics
middleware
recovery
resilience
response
route
security
server
sse
static_assets
trace

Structs§

Cors
Builder for CORS middleware.
JwtClaimProjection
Selects JWT values into handler-facing names using dot-separated payload paths.
RequestSignature
Signature fields transported as HTTP headers or gRPC metadata.
RequestSignatureVerifier
Verifies named signing keys and rejects signatures outside a bounded clock-skew window.

Enums§

AuthFailure
Stable authentication failures shared by HTTP and gRPC adapters.

Constants§

AUTH_KEY_ID_HEADER
AUTH_SIGNATURE_HEADER
AUTH_TIMESTAMP_HEADER

Functions§

sign_request
Signs a transport target using HMAC-SHA256(timestamp + method + target).