1. Go to this page and download the library: Download websoftwares/middleware library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
websoftwares / middleware example snippets
{
"softwares/middleware": ~0.0.1"
}
}
use Websoftwares\Middleware\MiddlewareRunner;
$middleware = new MiddlewareRunner;
// Some middleware object that is callable through invoke or a closure
// for consistency u could implement the `Websoftwares\MiddlewareInterface`.
// Invokable object
$throttleMiddleware = new ThrotteObject
// request + middelewareOne decoration <= objects are passed by reference
$middelewareOne = function($request, $response) {
// Decorate the foo property
$request->foo = $request->foo + 1;
};
// response + middlewareTwo decoration <= objects are passed by reference
$middlewareTwo = function($request, $response) {
// / Decorate the bar property
$response->bar = $response->bar . ' World';
};
$middleware->add($throttleMiddleware);
$middleware->add($middelewareOne);
$middleware->add($middlewareTwo);
...
// Add more middleware
...
$m = $middleware;
// Call
$m($request, $response);
use Websoftwares\Middleware\MiddlewareRunner;
use Aura\Router\RouterContainer;
$routerContainer = new RouterContainer;
$map = $routerContainer->getMap();
$matcher = $routerContainer->getMatcher();
$middleware = new MiddlewareRunner;
// response + middlewareOne decoration <= objects are passed by reference
$middlewareOne = function ($request, $response) {
// / Decorate the bar property
$response->bar = $response->bar.' World';
};
$routeIndexAction = function($request, $response) {
// Awesome sauce
return $response;
};
// Add middleware
$middleware->add($middlewareTwo);
...
// Add more middleware
...
// Add route as last one
$middleware->add($routeIndexAction);
$map->get('index.read', '/',$middleware); // <-- middleware becomes the handler
// We have a matching route
$route = $matcher->match($request);
$handler = $route->handler;
// Call
$handler($request, $response);
use Websoftwares\Middleware\MiddlewareRunner;
use Acquia\Hmac\RequestSigner;
use Acquia\Hmac\RequestAuthenticator;
use Websoftwares\Middleware\Adapter\RequestAuthenticatorAdapter;
$middleware = new MiddlewareRunner;
// response + middlewareOne decoration <= objects are passed by reference
$middlewareOne = function ($request, $response) {
// / Decorate the bar property
$response->bar = $response->bar.' World';
};
// Add middleware
$middleware->add($middlewareOne);
...
// Add more middleware
...
$authenticator = new RequestAuthenticator(new RequestSigner(), '+15 minutes');
// $keyLoader implements \Acquia\Hmac\KeyLoaderInterface
$authenticatorMiddleware = new RequestAuthenticatorAdapter($authenticator, $keyLoader);
$middleware->add($authenticatorMiddleware);
// Call
$m = $middleware;
$m($request, $response);
php composer.phar install
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.