phps-cans/psr7-middlewares-payload-universal-module

This package contains the service provider of the payload middleware of oscarotero/psr7-middlewares

1.2.0 2018-01-16 08:45 UTC

This package is not auto-updated.

Last update: 2024-04-13 17:46:36 UTC


README

This package integrates Payload's middleware in any container-interop compatible framework/container.

For this, it provides a service provider for the Payload Middleware of oscarotero/psr7-middlewares.

It create an instance of Psr7Middlewares\Middleware\Payload under the name Psr7Middlewares\Middleware\Payload

It also update the queue named TheCodingMachine\MiddlewareListServiceProvider::MIDDLEWARES_QUEUE by inserting the middleware instance with a priortity TheCodingMachine\MiddlewareOrder\MiddlewareOrder::UTILITY_EARLY

Installation

composer require phps-cans/psr7-middlewares-payload-universal-module

Usage

To be able to use this package, you must use Stratigility universal module. For this, you must register the service provider provided. If you use simplex:

$container->register(new \TheCodingMachine\MiddlewareListServiceProvider());

Once the MiddlewareListServiceProvider registered, you must register the payload's service provider:

$container->register(new \Psr7Middlewares\Middleware\PayloadServiceProvider());

Once it is done:

  1. If you use stratigility-harmony, there is nothing more to do.

  2. If not using stratigility-harmony, do not forget to register middlewares inside the pipe. If you use Zend Expressive:

$app = $container->get(\Zend\Expressive\Application::class);
$middlewaresQueue = $container->get(\TheCodingMachine\MiddlewareListServiceProvider::MIDDLEWARES_QUEUE);

foreach ($middlewaresQueue as $middleware) {
    $app->pipe($middleware);
}

Expected values / services

This service provider expects the following configuration / services to be available:

Name Compulsory Description
\TheCodingMachine\MiddlewareListServiceProvider::MIDDLEWARES_QUEUE yes Instance of \ SplPriorityQueue

Provided services

This service provider provides the following services:

Service name Description
\Psr7Middlewares\Middleware\Payload::class The middleware instancied

Extended services

This service provider extends those services:

Name Compulsory Description
\TheCodingMachine\MiddlewareListServiceProvider::MIDDLEWARES_QUEUE yes Update the queue with the middleware's payload