Skip to content

Repository files navigation

middleware

Build StatusScrutinizer Code QualityCode ClimatePHP 7Latest Stable VersionLicense

Slim and simple PSR-15 compliant middleware runner library for PHP.

Installation

Install via the composer utility.

composer require "phoole/middleware"

or add the following lines to your composer.json

{
"require": {
"phoole/middleware": "1.*"
}
}

Features

  • Able to use PSR-15 compliant middlewares out there.

  • Able to use a middleware queue (a group of middlewares) as a generic middleware in another(or the main) queue.

Usage

Create the middleware queue, then process all the middlewares.

usePhoole\Middleware\Queue;
useGuzzleHttp\Psr7\Response;
useGuzzleHttp\Psr7\ServerRequest;
// create middleware queue with 404 response as default(last)$mws = newQueue(newResponse(404));
// add middlewares$mws->add(
newLoggerMiddleware(),
newDispatcherMiddleware()
);
// process the request with middlewares$response = $mws->handle(newServerRequest('GET', 'http://bingo.com/get'));

Advanced

  • Subqueue

    Phoole\Middleware\Queue implements the Psr\Http\Server\MiddlewareInterface, so the queue itself can be used as a generic middleware.

    // subqueue may need no default response if not the last in the main queue$subQueue = (newQueue())->add(
    newResponseTimeMiddleware(),
    newLoggingMiddleware()
    );
    // main middleware queue$mws = (newQueue(newResponse(404)))->add(
    $subQueue,
    newDispatcherMiddleware()
    );

Testing

$ composer test

Dependencies

  • PHP >= 7.2.0

  • phoole/base 1.*

  • A PSR-7 HTTP message implementation, such as guzzle/psr7.

License

About

Slim and simple PSR-15 compliant middleware runner library for PHP

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages