{"enrichment":{"faq":[{"a":"laravel-middleware-patterns teaches that middleware should follow single responsibility\u2014each middleware handles one concern like authentication, CORS, or rate limiting. Use before/after patterns for request/response handling, implement terminable middleware for cleanup tasks after response sending, and organize related middleware into groups for cleaner route registration and maintainability.","q":"What are Laravel middleware best practices?"},{"a":"laravel-middleware-patterns covers creating middleware via `php artisan make:middleware` command. Middleware receives a `$request` and `$next` callback; before middleware processes before passing to next layer, after middleware processes the response. Register middleware in `bootstrap/app.php` using `middleware()` method, assign aliases for routes, and add to groups for batch application across route collections.","q":"How do you create middleware in Laravel?"},{"a":"laravel-middleware-patterns explains before middleware executes before the request reaches your controller\u2014ideal for validation, authentication checks, or modifying requests. After middleware executes after the controller returns\u2014useful for modifying responses, adding headers, or logging. Both patterns use the same structure; the difference is where you place logic relative to the `return $next($request)` call.","q":"What are before/after middleware patterns in Laravel?"},{"a":"laravel-middleware-patterns describes terminable middleware as implementing a `terminate()` method that runs after the response is sent to the client. Use this for cleanup tasks like flushing logs, closing database connections, or recording metrics without delaying the user's response. Register terminable middleware normally; Laravel automatically calls `terminate()` after the response completes.","q":"How does Laravel terminable middleware work with examples?"},{"a":"laravel-middleware-patterns shows middleware groups and aliases configured in `bootstrap/app.php`. Create aliases for individual middleware like `auth`, `cors`, or `throttle`, then group related aliases together\u2014`web` group might include session and CSRF middleware, `api` group includes rate limiting. Apply groups to routes via `middleware()` method for batch registration.","q":"How do you configure middleware groups and aliases?"},{"a":"laravel-middleware-patterns covers rate limiting via `throttle` middleware with parameters like `throttle:60,1` (60 requests per minute), and CORS middleware for handling cross-origin requests with headers. Tenant scoping middleware isolates data per tenant, locale middleware sets application language, and security headers middleware adds protections like X-Frame-Options. Each pattern solves specific request/response concerns.","q":"What are common patterns like rate limiting and CORS in Laravel?"}],"shadow_tags":["request-lifecycle","http-pipeline","access-control","response-modification","multi-tenancy","rate-limiting","internationalization","security-headers","routing-filters"],"summary_rewrite":"This skill teaches Laravel middleware architecture through practical patterns for request handling. Learn to build before and after middleware, implement terminable patterns for post-response tasks, organize middleware into groups, pass parameters to middleware, and apply common patterns like rate limiting, locale handling, and tenant scoping."},"files":[{"bytes":10638,"path":"skills/laravel-middleware-patterns/SKILL.md","sha256":"2d0da00fddb1a119a320194fec1cc21d601147cba1dc89c6c73c1c89b0a547ca","url":"https://skillfed.io/files/iSerter/laravel-claude-agents/laravel-middleware-patterns/f1866732/SKILL.md"}],"id":"iSerter/laravel-claude-agents/laravel-middleware-patterns","links":{"html":"https://skillfed.io/iSerter/laravel-claude-agents/laravel-middleware-patterns","md":"https://skillfed.io/iSerter/laravel-claude-agents/laravel-middleware-patterns.md","repo":"https://github.com/iSerter/laravel-claude-agents"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":8,"language":"PHP","last_updated":"2026-04-19","license":"MIT","name":"laravel-middleware-patterns","publisher":"iSerter","stars":41},"relations":{"similar":[{"id":"affaan-m/ECC/laravel-security"},{"id":"noartem/skills/laravel-internationalization-and-translation"},{"id":"personamanagmentlayer/pcl/php-expert"},{"id":"iSerter/laravel-claude-agents/laravel-authorization-patterns"},{"id":"iSerter/laravel-claude-agents/laravel-api-resource-patterns"},{"id":"iSerter/laravel-claude-agents/laravel-validation-patterns"},{"id":"rawveg/skillsforge-marketplace/laravel"},{"id":"Pixel-Process-UG/superkit-agents/laravel-specialist"},{"id":"iSerter/laravel-claude-agents/laravel-feature-flags"},{"id":"Guiziweb/guiziweb-plugins/add-responder"}]},"slug":{"owner":"iSerter","repo":"laravel-claude-agents","skill":"laravel-middleware-patterns"},"version":"f1866732"}
