t0mmy742/middleware-dispatcher

This package is abandoned and no longer maintained. No replacement package was suggested.

A simple PSR-15 middleware dispatcher

1.0.0 2020-04-24 20:00 UTC

This package is auto-updated.

Last update: 2021-11-25 00:05:12 UTC


README

Build Status Coverage Status

A simple PSR-15 middleware dispatcher mainly used for testing.

Installation

$ composer require t0mmy742/middleware-dispatcher

Usage

<?php

use t0mmy742\MiddlewareDispatcher;

$request = new \Your\PSR7\ServerRequest();
$middleware1 = new \Your\First\PSR15\Middleware();
$middleware2 = new \Your\Second\PSR15\Middleware();
$middlewares = [$middleware1, $middleware2];
$middlewareDispatcher = new MiddlewareDispatcher($middlewares);
$response = $middlewareDispatcher->handle($request);

or

<?php

use t0mmy742\MiddlewareDispatcher;

$request = new \Your\PSR7\ServerRequest();
$middlewareDispatcher = new MiddlewareDispatcher();
$middlewareDispatcher->add(new \Your\First\PSR15\Middleware());
$middlewareDispatcher->add(new \Your\Second\PSR15\Middleware());
$response = $middlewareDispatcher->handle($request);

If the last middleware can't return a PSR-7 Response, it will throw a RuntimeException.