PSR-15 HTTP Middleware describes a common standard for HTTP middleware components using HTTP Messages defined by PSR-7.
Currently, PSR-15 is a PHP Standards Recommendation of the Framework Interoperability Group (FIG).
Please read the contribution guidelines before contributing.
- PHP Framework Interoperability Group website
- PSR-15 HTTP Middleware - The current standard.
- psr/http-server-middleware - Composer package of common interfaces for PSR-15 HTTP Middlewares.
- PSR-7 Objects Are Not Immutable - Description of a serious flaw with the double-pass style of middlewares.
- Dependency Inversion and PSR-7 Bodies - Conclusion that double-pass flaws cannot be resolved without HTTP Factories.
- relay/relay - A PSR-15 request handler for both PSR-15 and callable middleware; use it with any framework or container.
- equip/dispatch - An HTTP Interop compatible middleware dispatcher.
- mindplay/middleman - Dead simple PSR-15 / PSR-7 middleware dispatcher.
- zendframework/zend-stratigility - Build and dispatch middleware pipelines.
- oscarotero/middleland - Another PSR-15 dispatcher
- moon-php/http-middleware - A simple PSR-15 dispatcher with lazy middleware resolution via container
- middlewares/aura-router - Use Aura.Router.
- middlewares/fast-route - Use FastRoute.
- timtegeler/routerunner - Routerunner is a config-driven router for HTTP requests.
- middlewares/cors - Manage Cross-Origin Resource Sharing (CORS).
- middlewares/csp - Manage Content-Security-Policies (CSP).
- middlewares/honeypot - Block spam bots.
- middlewares/http-authentication - HTTP Basic and Digest access authentication.
- middlewares/recaptcha - Use Google's reCAPTCHA for spam prevention.
- middlewares/debugbar - Inject PHP Debug Bar.
- middlewares/whoops - Use Whoops as error handler.
- middlewares/aura-session - Manage sessions using Aura.Session.
- middlewares/encoder - Compress responses with gzencode or gzdeflate.
- middlewares/minifier - Minify Html, CSS and Javascript.
- middlewares/negotiation - Manage content negotiations.
- middlewares/geolocation - Geolocate requests.
To the extent possible under law, Michael Mayer has waived all copyright and related or neighboring rights to this work.