# Генераторы ответов и слушатели ошибок

Подробнее об использовании генераторов ответов и слушателей ошибок смотрите в описании HttpSoft\ErrorHandler\ErrorHandlerMiddleware.

# Генераторы ответов ошибок

Генераторы ответов с информацией об ошибках реализуют HttpSoft\ErrorHandler\ErrorResponseGeneratorInterface.

Все генераторы содержат только один публичный метод HttpSoft\ErrorHandler\ErrorResponseGeneratorInterface::generate().

public function generate(
    \Throwable $error, 
     Psr\Http\Message\ServerRequestInterface $request
): Psr\Http\Message\ResponseInterface;

# HttpSoft\Basis\ErrorHandler\ErrorResponseGenerator

Генерирует ответ с информацией об ошибке в соответствии с аргументами, переданными конструктору.

public function __construct(
    Psr\Http\Message\ResponseFactoryInterface $responseFactory,
    HttpSoft\Basis\TemplateRendererInterface $template,
    string $view, // Путь к файлу представления.
    bool $debug = false
);

Исходный код на GitHub.

# HttpSoft\Basis\ErrorHandler\ErrorJsonResponseGenerator

Генерирует ответ с информацией об ошибке в JSON-формате (HttpSoft\Response\JsonResponse).

public function __construct(bool $debug = false);

Исходный код на GitHub.

# Слушатели ошибок

Слушатели ошибок реализуют HttpSoft\ErrorHandler\ErrorListenerInterface.

Все слушатели содержат только один публичный метод HttpSoft\ErrorHandler\ErrorListenerInterface::trigger().

public function trigger(
    \Throwable $error, 
     Psr\Http\Message\ServerRequestInterface $request
): void;

# HttpSoft\Basis\ErrorHandler\LogErrorListener

Логирует информацию об ошибке.

public function __construct(Psr\Log\LoggerInterface $logger);

Исходный код на GitHub.