@@ 74-91 (lines=18) @@ | ||
71 | * @param array $payload |
|
72 | * @return bool |
|
73 | */ |
|
74 | private function isValidCall($payload): bool |
|
75 | { |
|
76 | if (!is_array($payload)) { |
|
77 | return false; |
|
78 | } |
|
79 | ||
80 | $headerValid = array_key_exists('jsonrpc', $payload) && $payload['jsonrpc'] === '2.0'; |
|
81 | $methodValid = array_key_exists('method', $payload) && is_string($payload['method']); |
|
82 | $idValid = array_key_exists('id', $payload); |
|
83 | ||
84 | // This member MAY be omitted |
|
85 | $paramsValid = true; |
|
86 | if (array_key_exists('params', $payload) && !is_array($payload['params'])) { |
|
87 | $paramsValid = false; |
|
88 | } |
|
89 | ||
90 | return $headerValid && $methodValid && $paramsValid && $idValid; |
|
91 | } |
|
92 | ||
93 | /** |
|
94 | * @param array $payload |
|
@@ 97-114 (lines=18) @@ | ||
94 | * @param array $payload |
|
95 | * @return bool |
|
96 | */ |
|
97 | private function isValidNotification($payload): bool |
|
98 | { |
|
99 | if (!is_array($payload)) { |
|
100 | return false; |
|
101 | } |
|
102 | ||
103 | $headerValid = array_key_exists('jsonrpc', $payload) && $payload['jsonrpc'] === '2.0'; |
|
104 | $methodValid = array_key_exists('method', $payload) && is_string($payload['method']); |
|
105 | $idValid = !array_key_exists('id', $payload); |
|
106 | ||
107 | // This member MAY be omitted |
|
108 | $paramsValid = true; |
|
109 | if (array_key_exists('params', $payload) && !is_array($payload['params'])) { |
|
110 | $paramsValid = false; |
|
111 | } |
|
112 | ||
113 | return $headerValid && $methodValid && $paramsValid && $idValid; |
|
114 | } |
|
115 | } |
|
116 |