zakirullin / conditional-middleware
PSR-15 middleware that makes it possible to add conditional middlewares, based on request
0.1.5
2019-04-25 09:25 UTC
Requires
- php: ^7.1
- middlewares/utils: ^2.1.1
- psr/http-message: ^1.0.1
- psr/http-server-middleware: ^1.0
- zendframework/zend-diactoros: ^1.7.0
Requires (Dev)
- phpunit/phpunit: ^7
- squizlabs/php_codesniffer: ^3.0
README
PSR-15 middleware that makes it possible to add conditional middlewares, based on request
Requirements
- PHP >= 7.1
- A PSR-7 http message implementation (Diactoros, Guzzle, Slim, etc...)
- A PSR-15 middleware dispatcher
Installation
This package is installable and autoloadable via Composer as zakirullin/conditional-middleware.
composer require zakirullin/conditional-middleware
PHP
$shouldProtect = function (\Psr\Http\Message\ServerRequestInterface $request) { $handler = $request->getAttribute('handler'); return $handler != 'login'; }; $getIdentity = function (\Psr\Http\Message\ServerRequestInterface $request) { $session = $request->getAttribute('session'); return [$session->get('userId')]; }; $dispatcher = new Dispatcher([ ... new \Zakirullin\Middlewares\CSRF($shouldProtect, $getIdentity, 'secret'), ... ]);
Options
__construct( callable $shouldProtect, callable $getIdentity, string $secret, string $attribute = self::ATTRIBUTE, int $ttl = self::TTL, string $algorithm = self::ALGORITHM )
name(string $name)
The session name. If it's not defined, the default PHPSESSID
will be used.
The MIT License (MIT). Please see LICENSE for more information.