vaibhavpandeyvpz/vidyut
No frills PSR-7 request handler based on PSR-15 specification., (*1)
Vidyut: विद्युत्
(Electricity), (*2)
![Code Coverage][code-coverage-image]
![Latest Version][latest-version-image]
![Downloads][downloads-image]
![PHP Version][php-version-image]
![License][license-image], (*3)
, (*4)
Install
composer require vaibhavpandeyvpz/vidyut
# You will also need a PSR-7 implementation
composer require vaibhavpandeyvpz/sandesh
Usage
<?php
/**
* @desc Middleware can be an instance of Psr\Http\Server\MiddlewareInterface or a callable with similar signature.
*/
$pipeline = new Vidyut\Pipeline();
$pipeline->pipe(function ($request, $delegate) {
if ($request->getUri()->getPath() === '/login') {
$response = (new Sandesh\ResponseFactory())->createResponse();
$response->getBody()->write('Login');
return $response;
}
return $delegate->process($request);
});
$pipeline->pipe(function ($request, $delegate) {
if ($request->getUri()->getPath() === '/logout') {
$response = (new Sandesh\ResponseFactory())->createResponse();
$response->getBody()->write('Logout');
return $response;
}
return $delegate->process($request);
});
$pipeline->pipe(function () {
$response = (new Sandesh\ResponseFactory())->createResponse();
$response->getBody()->write('Page could not be found.');
return $response->withStatus(404);
});
$request = (new Sandesh\ServerRequestFactory())
->createServerRequest($_SERVER['REQUEST_METHOD'], $_SERVER['REQUEST_URI'], $_SERVER);
$response = $pipeline->handle($request);
License
See LICENSE.md file., (*5)