Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
81.82% covered (warning)
81.82%
9 / 11
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
TwigExceptionHandler
81.82% covered (warning)
81.82%
9 / 11
0.00% covered (danger)
0.00%
0 / 1
3.05
0.00% covered (danger)
0.00%
0 / 1
 withHtml
81.82% covered (warning)
81.82%
9 / 11
0.00% covered (danger)
0.00%
0 / 1
3.05
1<?php
2
3namespace BO\Zmsstatistic\Helper;
4
5use Psr\Http\Message\RequestInterface;
6use Psr\Http\Message\ResponseInterface;
7
8class TwigExceptionHandler extends \BO\Slim\TwigExceptionHandler
9{
10    #[\Override]
11    public static function withHtml(
12        RequestInterface $request,
13        ResponseInterface $response,
14        \Throwable $exception,
15        $status = 500
16    ): ResponseInterface {
17        if ($exception instanceof \Slim\Exception\HttpNotFoundException) {
18            \BO\Slim\Controller::prepareRequest($request);
19            return \BO\Slim\Render::withHtml($response, 'page/404.twig');
20        }
21        try {
22            $exception->templatedata = [
23                'workstation' => \App::$http->readGetResult('/workstation/')->getEntity(),
24            ];
25        } catch (\Throwable $workstationexception) {
26            \App::$log->warning('Failed to fetch /workstation/ for extendedInfo', [
27                'exception' => $workstationexception,
28            ]);
29        }
30
31        return parent::withHtml($request, $response, $exception, $status);
32    }
33}