Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
60.00% covered (warning)
60.00%
3 / 5
50.00% covered (danger)
50.00%
1 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
Handler
60.00% covered (warning)
60.00%
3 / 5
50.00% covered (danger)
50.00%
1 / 2
3.58
0.00% covered (danger)
0.00%
0 / 1
 register
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 render
50.00% covered (danger)
50.00%
2 / 4
0.00% covered (danger)
0.00%
0 / 1
2.50
1<?php
2
3namespace App\Exceptions;
4
5use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
6use Throwable;
7
8class Handler extends ExceptionHandler
9{
10    /**
11     * A list of the exception types that are not reported.
12     *
13     */
14    protected $dontReport = [
15        //
16    ];
17
18    /**
19     * A list of the inputs that are never flashed for validation exceptions.
20     *
21     */
22    protected $dontFlash = [
23        'current_password',
24        'password',
25        'password_confirmation',
26    ];
27
28    /**
29     * Register the exception handling callbacks for the application.
30     *
31     * @return void
32     */
33    public function register()
34    {
35        $this->reportable(function (Throwable $e) {
36            //
37        });
38    }
39
40    /**
41     * Override of render() to return nicer responses when custom middelware
42     * throws errors.
43     *
44     * @param \Illuminate\Http\Request $request
45     * @param Throwable $exception
46     */
47    public function render($request, Throwable $exception)
48    {
49        if ($exception->getMessage() == "rootonly") {
50            return response()->json([
51                "error" =>  "Root Only",
52                "details" =>  null,
53            ], $exception->getStatusCode()); // @phpstan-ignore-line
54        }
55        return parent::render($request, $exception);
56    }
57}