DefaultExceptionHandler::handle()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 4
c 1
b 0
f 0
nc 1
nop 2
dl 0
loc 8
ccs 3
cts 3
cp 1
crap 1
rs 10
1
<?php
2
declare(strict_types=1);
3
4
namespace MarcinOrlowski\ResponseBuilder\ExceptionHandlers;
5
6
/**
7
 * Laravel API Response Builder
8
 *
9
 * @package   MarcinOrlowski\ResponseBuilder
10
 *
11
 * @author    Marcin Orlowski <mail (#) marcinOrlowski (.) com>
12
 * @copyright 2016-2021 Marcin Orlowski
13
 * @license   http://www.opensource.org/licenses/mit-license.php MIT
14
 * @link      https://github.com/MarcinOrlowski/laravel-api-response-builder
15
 */
16
17
use MarcinOrlowski\ResponseBuilder\BaseApiCodes;
18
use MarcinOrlowski\ResponseBuilder\Contracts\ExceptionHandlerContract;
19
use MarcinOrlowski\ResponseBuilder\ResponseBuilder as RB;
20
use Symfony\Component\HttpFoundation\Response as HttpResponse;
21
22
/**
23
 * Default exception handler. Kicks in if there's no better handler found.
24 2
 */
25
final class DefaultExceptionHandler implements ExceptionHandlerContract
26
{
27 2
	public function handle(array $user_config, /** @scrutinizer ignore-unused */ \Throwable $ex): ?array
28 2
	{
29
		$defaults = [
30
			RB::KEY_API_CODE  => BaseApiCodes::EX_UNCAUGHT_EXCEPTION(),
31 2
			RB::KEY_HTTP_CODE => HttpResponse::HTTP_INTERNAL_SERVER_ERROR,
32
		];
33
34
		return \array_replace($defaults, $user_config);
35
	}
36
}
37