httpsoft/http-error-handler

Error handling PSR-7 and PSR-15 components

1.1.0 2023-05-05 21:14 UTC

This package is auto-updated.

Last update: 2024-04-05 23:14:24 UTC


README

License Latest Stable Version Total Downloads GitHub Build Status GitHub Static Analysis Status Scrutinizer Code Coverage Scrutinizer Code Quality

This package implements Psr\Http\Server\MiddlewareInterface and Psr\Http\Server\RequestHandlerInterface.

Documentation

Installation

This package requires PHP version 7.4 or later.

composer require httpsoft/http-error-handler

Usage ErrorHandler

use HttpSoft\ErrorHandler\ErrorHandler;

/**
 * @var Psr\Http\Message\ServerRequestInterface $request
 * @var Psr\Http\Server\RequestHandlerInterface $handler
 *
 * @var HttpSoft\ErrorHandler\ErrorListenerInterface $logErrorListener
 * @var HttpSoft\ErrorHandler\ErrorListenerInterface $sendErrorListener
 * @var HttpSoft\ErrorHandler\ErrorResponseGeneratorInterface $responseGenerator
 */

$errorHandler = new ErrorHandler($handler, $responseGenerator);

$errorHandler->addListener($logErrorListener);
$errorHandler->addListener($sendErrorListener);

/** @var \Psr\Http\Message\ResponseInterface $response */
$response = $errorHandler->handle($request);

Usage ErrorHandlerMiddleware

use HttpSoft\ErrorHandler\ErrorHandlerMiddleware;

/**
 * @var Psr\Http\Message\ServerRequestInterface $request
 * @var Psr\Http\Server\RequestHandlerInterface $handler
 *
 * @var HttpSoft\ErrorHandler\ErrorListenerInterface $logErrorListener
 * @var HttpSoft\ErrorHandler\ErrorListenerInterface $sendErrorListener
 * @var HttpSoft\ErrorHandler\ErrorResponseGeneratorInterface $responseGenerator
 */

$errorHandler = new ErrorHandlerMiddleware($responseGenerator);

$errorHandler->addListener($logErrorListener);
$errorHandler->addListener($sendErrorListener);

/** @var \Psr\Http\Message\ResponseInterface $response */
$response = $errorHandler->process($request, $handler);