2017 © Pedro Peláez
 

library middleware

A flexible PSR15 middleware dispatcher

image

slince/middleware

A flexible PSR15 middleware dispatcher

  • Tuesday, January 9, 2018
  • by slince
  • Repository
  • 1 Watchers
  • 3 Stars
  • 3 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Middleware Dispatcher

Build Status Coverage Status Latest Stable Version Scrutinizer, (*1)

The package is a flexible PSR-15 middleware dispatcher for PSR-7 request message that help to create middlewares and dispatch., (*2)

Installation

Install via composer, (*3)

composer require slince/middleware

Quick example

$dispatcher = new Slince\Middleware\Dispatcher([$middleware1, $middleware2]);

$response = $dispatcher->process(Zend\Diactoros\ServerRequestFactory::fromGlobals());

var_dump($response instanceof Psr\Http\Message\ResponseInterface);

Usage

Add middleware

Add PSR-15 middlewares to the queue, (*4)

use Psr\Http\Message\ServerRequestInterface;
use Interop\Http\Server\MiddlewareInterface;
use Interop\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response;

class MyMiddleware implements MiddlewareInteface
{
    public function process(ServerRequestInterface $request, RequestHandlerInterface $next) 
    {
        $response = new Response();
        $response->getBody()->write('hello world');
        return $response;
    }
}
$dispatcher = new Slince\Middleware\Dispatcher([
    new MyMiddleware()
]);

Or add a callable function directly, (*5)

$dispatcher->push(function(ServerRequestInterface $request, RequestHandlerInterface $next){
    return $delegate->process($request);
});

Dispatch

try {
    $response = $dispatcher->process(Zend\Diactoros\ServerRequestFactory::fromGlobals());
} catch (Slince\Middleware\Exception\MissingResponseException $exception) {
    //...
}

A MissingResponseException will be thrown if the middleware did not return a invalid response or the queue was exhausted, (*6)

License

The MIT license. See MIT, (*7)

The Versions

09/01 2018

dev-master

9999999-dev

A flexible PSR15 middleware dispatcher

  Sources   Download

MIT

The Requires

 

The Development Requires

by tao

middleware psr-7 http dispatcher psr-15 middlewares middleware-dispatcher

09/01 2018

2.0.0

2.0.0.0

A flexible PSR15 middleware dispatcher

  Sources   Download

MIT

The Requires

 

The Development Requires

by tao

middleware psr-7 http psr-15 middlewares middleware-dispatcher

27/05 2017

1.0.0

1.0.0.0

A flexible PSR15 middleware dispatcher

  Sources   Download

MIT

The Requires

 

The Development Requires

by tao

middleware dispatcher psr-15