RpcArrayException   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 9
c 1
b 0
f 1
dl 0
loc 23
ccs 0
cts 9
cp 0
rs 10
wmc 5

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 15 5
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