Module middleware

Module middleware 

Source
Expand description

Middleware system for Kit framework

This module provides Laravel 12.x-style middleware support with:

  • Global middleware (runs on all routes)
  • Route group middleware (shared for a group of routes)
  • Per-route middleware (applied to individual routes)

§Example

use kit::{async_trait, Middleware, Next, Request, Response, HttpResponse};

pub struct AuthMiddleware;

#[async_trait]
impl Middleware for AuthMiddleware {
    async fn handle(&self, request: Request, next: Next) -> Response {
        if request.header("Authorization").is_none() {
            return Err(HttpResponse::text("Unauthorized").status(401));
        }
        next(request).await
    }
}

Structs§

MiddlewareChain
Builds and executes the middleware chain
MiddlewareRegistry
Registry for global middleware that runs on every request

Traits§

Middleware
Trait for implementing middleware

Functions§

into_boxed
Convert a Middleware trait object into a BoxedMiddleware
register_global_middleware
Register a global middleware that runs on every request

Type Aliases§

BoxedMiddleware
Type alias for boxed middleware handlers (internal use)
MiddlewareFuture
Type alias for the boxed future returned by middleware
Next
Type alias for the next handler in the middleware chain