<
⌘K
GitHub v2.4.0

Middleware

Middleware filters HTTP requests entering your application — for authentication, logging, rate limiting, and more.

Creating Middleware

// app/Middleware/EnsureAuthenticated.php
namespace App\Middleware;

use DevPortal\Http\Request;
use DevPortal\Http\Response;

class EnsureAuthenticated
{
    public function handle(Request $request, callable $next): Response
    {
        if (!auth()->check()) {
            return redirect('/login');
        }
        return $next($request);
    }
}

Registering Middleware

Register in config/middleware.php under a short alias:

return [
    'auth'     => App\Middleware\EnsureAuthenticated::class,
    'verified' => App\Middleware\EnsureEmailVerified::class,
    'throttle' => App\Middleware\RateLimiter::class,
];

Global Middleware

Always-on middleware runs on every request — register it in the global array:

'global' => [
    App\Middleware\TrimStrings::class,
    App\Middleware\HandleCors::class,
    App\Middleware\VerifyCsrfToken::class,
]
⚠ Order Matters Global middleware runs top-to-bottom. Place session middleware before auth middleware.
<