eteona/http-request-handlers

Provides a PSR-15 request handler implementation.


Keywords
http, server, middleware, handler, psr-7, psr-17, psr-15, eteona
License
BSD-3-Clause

Documentation

Eteona Http Request Handlers

This package provides a PSR-15 http server request handler implementation.

Installation

Run the following to install the library:

$ composer require eteona/http-request-handlers

Usage

Using eteona/http-message in the below code snippet.

use Eteona\Http\Message\ServerRequestFactory;
use Psr\Container\ContainerInterface;
use Eteona\Http\Server\CallableRequestHandler;
use Eteona\Http\Message\ResponseFactory;
use Eteona\Http\Server\LazyRequestHandler;
use Eteona\Http\Server\QueueableRequestHandler;

$request = (new ServerRequestFactory())->createServerRequest('GET', 'https://example.com/');

/** @var ContainerInterface  */
$container = /** A PSR-11 container implementation */;

// creates a response from a callback function.
$requestHandler = new CallableRequestHandler(function () {
    return (new ResponseFactory())->createResponse(400);
});
$response = $requestHandler->handle($request);

// creates a response using a PSR-11 container implementation.
$requestHandler = new LazyRequestHandler($container, Acme\FooHandler::class);
$response = $requestHandler->handle($request);

// creates a response from a fallback request handler and a queue of middlewares.
$requestHandler = new QueueableRequestHandler(new Acme\FooHandler());
$requestHandler->add(new Acme\FooMiddleware());
$response = $requestHandler->handle($request);

Testing

$ composer test

Changelog

Please see the changelog for change details.

Contributing

Please see the contributing guide for details.

Credits

License

The package is an open-sourced software licensed under the BSD-3-Clause License.