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