RpcArrayException::__construct()   A
last analyzed

Complexity

Conditions 5
Paths 4

Size

Total Lines 15
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 30

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 5
eloc 8
c 1
b 0
f 1
nc 4
nop 2
dl 0
loc 15
ccs 0
cts 9
cp 0
crap 30
rs 9.6111
1
<?php
2
3
/**
4
 * Created by PhpStorm.
5
 * Project: json-rpc-server
6
 * User: sv
7
 * Date: 15.01.2024
8
 * Time: 21:11
9
 */
10
11
declare(strict_types=1);
12
13
namespace Onnov\JsonRpcServer\Exception;
14
15
use stdClass;
16
use Throwable;
17
18
/**
19
 * Class RpcArrayException
20
 *
21
 * @package Onnov\JsonRpcServer\Exception
22
 */
23
class RpcArrayException extends MethodErrorException
24
{
25
    /**
26
     * RpcArrayException constructor.
27
     *
28
     * @param array<string, mixed>          $error
29
     * @param Throwable|null $previous
30
     */
31
    public function __construct(array $error, Throwable $previous = null)
32
    {
33
        $message = $error['message'] ?? 'Unknown error';
34
35
        $code = (int)($error['code'] ?? 0);
36
37
        $data = null;
38
        if (isset($error['data']) && is_array($error['data'])) {
39
            $data = (object)$error['data'];
40
        }
41
        if (isset($error['data']) && $error['data'] instanceof stdClass) {
42
            $data = $error['data'];
43
        }
44
45
        parent::__construct($message, $code, $previous, $data);
46
    }
47
}
48