| @@ 110-127 (lines=18) @@ | ||
| 107 | * | |
| 108 | * @return bool | |
| 109 | */ | |
| 110 | private function isValidCall($payload): bool | |
| 111 |     { | |
| 112 |         if (!is_array($payload)) { | |
| 113 | return false; | |
| 114 | } | |
| 115 | ||
| 116 |         $headerValid = array_key_exists('jsonrpc', $payload) && $payload['jsonrpc'] === '2.0'; | |
| 117 |         $methodValid = array_key_exists('method', $payload)  && is_string($payload['method']); | |
| 118 |         $idValid     = array_key_exists('id', $payload); | |
| 119 | ||
| 120 | // This member MAY be omitted | |
| 121 | $paramsValid = true; | |
| 122 |         if (array_key_exists('params', $payload) && !is_array($payload['params'])) { | |
| 123 | $paramsValid = false; | |
| 124 | } | |
| 125 | ||
| 126 | return $headerValid && $methodValid && $paramsValid && $idValid; | |
| 127 | } | |
| 128 | ||
| 129 | /** | |
| 130 | * @param array $payload | |
| @@ 134-151 (lines=18) @@ | ||
| 131 | * | |
| 132 | * @return bool | |
| 133 | */ | |
| 134 | private function isValidNotification($payload): bool | |
| 135 |     { | |
| 136 |         if (!is_array($payload)) { | |
| 137 | return false; | |
| 138 | } | |
| 139 | ||
| 140 |         $headerValid = array_key_exists('jsonrpc', $payload) && $payload['jsonrpc'] === '2.0'; | |
| 141 |         $methodValid = array_key_exists('method', $payload)  && is_string($payload['method']); | |
| 142 |         $idValid     = !array_key_exists('id', $payload); | |
| 143 | ||
| 144 | // This member MAY be omitted | |
| 145 | $paramsValid = true; | |
| 146 |         if (array_key_exists('params', $payload) && !is_array($payload['params'])) { | |
| 147 | $paramsValid = false; | |
| 148 | } | |
| 149 | ||
| 150 | return $headerValid && $methodValid && $paramsValid && $idValid; | |
| 151 | } | |
| 152 | ||
| 153 | /** | |
| 154 | * @param mixed $record | |