mars-server · middleware::auth
Public declarations and documentation for mars-server::middleware::auth.
Package: mars-server · Workspace version: 0.1.0 · Module: middleware::auth
This reference follows declared modules and public syntax, including public implementation methods. Function bodies and constant values are omitted. Feature conditions are retained. Private-module re-exports and trait resolution require the compiler; not every declaration is a root import.
middleware::auth::MutationContext
Authenticated, route-scoped idempotency context injected into mutation handlers. No actor identity is sourced from the request body.
#[derive(Debug, Clone)]
pub struct MutationContext {
pub route: &'static str,
pub key: String,
pub request_hash: String,
pub expires_at: chrono::DateTime<chrono::Utc>
}Source line: 30.
middleware::auth::MutationContext::entry_projection_response
Reserve a response reconstructed from the authoritative entry projection after the transaction assigns its registry sequence.
Use only for commands whose successful response body is exactly the
committed [mars_protocol::MarsEntry].
#[must_use]
pub fn entry_projection_response(&self, status: u16) -> IdempotencyRequest;Source line: 44.
middleware::auth::MutationContext::stored_response
Reserve the exact serialized status, content type, and body supplied.
Use for every response that cannot be reconstructed solely from a committed entry projection.
#[must_use]
pub fn stored_response(&self, response: StoredHttpResponse) -> IdempotencyRequest;Source line: 59.
middleware::auth::CapabilityRequirement
State supplied to one route's capability middleware.
#[derive(Clone)]
pub struct CapabilityRequirement {
}Source line: 72.
middleware::auth::CapabilityRequirement::for_mutation
pub fn for_mutation(
app: Arc<AppState>,
capability: Capability,
route: &'static str,
action: AuditAction,
) -> Self;Source line: 80.
middleware::auth::ReadCapabilityRequirement
State supplied to capability-protected read middleware.
#[derive(Clone)]
pub struct ReadCapabilityRequirement {
}Source line: 97.
middleware::auth::ReadCapabilityRequirement::new
pub fn new(app: Arc<AppState>, capability: Capability) -> Self;Source line: 103.
middleware::auth::require_capability
Resolve a session and require one explicit capability.
On success the provider-neutral [crate::auth::Principal] is inserted into
request extensions. Missing/invalid sessions return MARS-006; valid
sessions that lack the route capability return MARS-007.
pub async fn require_capability(
State(requirement): State<CapabilityRequirement>,
request: Request,
next: Next,
) -> Response;Source line: 113.
middleware::auth::require_read_capability
Require a capability for a protected read without imposing mutation idempotency semantics.
pub async fn require_read_capability(
State(requirement): State<ReadCapabilityRequirement>,
mut request: Request,
next: Next,
) -> Response;Source line: 332.
middleware::auth::require_operator_capability
Backward-compatible operator-read middleware entry point.
pub async fn require_operator_capability(
requirement: State<ReadCapabilityRequirement>,
request: Request,
next: Next,
) -> Response;Source line: 371.
Source provenance
Source: mars-server/src/middleware/auth.rs · SHA-256 d1251767a7b7198e780cbc4ca86a9de7504daafb9a62f43d240970d00a28e61b. Package overview.