2017 © Pedro Peláez
 

library onion

Onion style PSR-7 middleware stack using generators

image

cormy/onion

Onion style PSR-7 middleware stack using generators

  • Sunday, December 4, 2016
  • by schnittstabil
  • Repository
  • 1 Watchers
  • 2 Stars
  • 6 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

Cormy Onion Build Status Coverage Status Scrutinizer Code Quality

SensioLabsInsight, (*1)

:tulip: Onion style PSR-7 middleware stack using generators, (*2)

Install

composer require cormy/onion

Usage

use Cormy\Server\Onion;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;

// create the core of the onion, i.e. the innermost request handler
$core = function (ServerRequestInterface $request):ResponseInterface {
    return new \Zend\Diactoros\Response();
};

// create some scales (aka middlewares) to wrap around the core
$scales = [];

$scales[] = function (ServerRequestInterface $request):\Generator {
    // delegate $request to the next request handler, i.e. $core
    $response = (yield $request);

    return $response->withHeader('content-type', 'application/json; charset=utf-8');
};

$scales[] = function (ServerRequestInterface $request):\Generator {
    // delegate $request to the next request handler, i.e. the middleware right above
    $response = (yield $request);

    return $response->withHeader('X-PoweredBy', 'Unicorns');
};

// create an onion style middleware stack
$middlewareStack = new Onion($core, ...$scales);

// and process an incoming server request
$response = $middlewareStack(new \Zend\Diactoros\ServerRequest());

API

Cormy\Server\Onion implements RequestHandlerInterface

Onion::__construct

/**
 * Constructs an onion style PSR-7 middleware stack.
 *
 * @param RequestHandlerInterface|callable                         $core   the innermost request handler
 * @param (MiddlewareInterface|RequestHandlerInterface|callable)[] $scales the middlewares to wrap around the core
 */
public function __construct(callable $core, callable ...$scales)

Inherited from RequestHandlerInterface::__invoke

/**
 * Process an incoming server request and return the response.
 *
 * @param ServerRequestInterface $request
 *
 * @return ResponseInterface
 */
public function __invoke(ServerRequestInterface $request):ResponseInterface

License

MIT © Michael Mayer, (*3)

The Versions

04/12 2016

dev-master

9999999-dev

Onion style PSR-7 middleware stack using generators

  Sources   Download

MIT

The Requires

 

The Development Requires

middleware psr psr-7 stack http request response http-message onion cormy

04/12 2016

0.2.0

0.2.0.0

Onion style PSR-7 middleware stack using generators

  Sources   Download

MIT

The Requires

 

The Development Requires

middleware psr psr-7 stack http request response http-message onion cormy

03/12 2016

0.1.1

0.1.1.0

Onion style PSR-7 middleware stack using generators

  Sources   Download

MIT

The Requires

 

The Development Requires

middleware psr psr-7 stack http request response http-message onion cormy

20/11 2016

0.1.0

0.1.0.0

Onion style PSR-7 middleware stack using generators

  Sources   Download

MIT

The Requires

 

The Development Requires

middleware psr psr-7 stack http request response http-message onion cormy