@@ 284-312 (lines=29) @@ | ||
281 | * @throws Exception\YandexException |
|
282 | * @return Response |
|
283 | */ |
|
284 | protected function sendRequest($method, $uri, array $options = []) |
|
285 | { |
|
286 | try { |
|
287 | $response = $this->getClient()->request($method, $uri, $options); |
|
288 | } catch (ClientException $ex) { |
|
289 | // get error from response |
|
290 | $decodedResponseBody = $this->getDecodedBody($ex->getResponse()->getBody()); |
|
291 | $code = $ex->getResponse()->getStatusCode(); |
|
292 | ||
293 | // handle a service error message |
|
294 | if (is_array($decodedResponseBody) |
|
295 | && isset($decodedResponseBody['error'], $decodedResponseBody['message']) |
|
296 | ) { |
|
297 | switch ($decodedResponseBody['error']) { |
|
298 | case 'MissedRequiredArguments': |
|
299 | throw new MissedArgumentException($decodedResponseBody['message']); |
|
300 | case 'AssistantProfileNotFound': |
|
301 | throw new ProfileNotFoundException($decodedResponseBody['message']); |
|
302 | default: |
|
303 | throw new YandexException($decodedResponseBody['message'], $code); |
|
304 | } |
|
305 | } |
|
306 | ||
307 | // unknown error |
|
308 | throw $ex; |
|
309 | } |
|
310 | ||
311 | return $response; |
|
312 | } |
|
313 | ||
314 | /** |
|
315 | * @param $body |
@@ 103-132 (lines=30) @@ | ||
100 | * @throws ProfileNotFoundException |
|
101 | * @throws YandexException |
|
102 | */ |
|
103 | protected function sendRequest($method, $uri, array $options = []) |
|
104 | { |
|
105 | //todo: implement Webmaster Exceptions |
|
106 | try { |
|
107 | $response = $this->getClient()->request($method, $uri, $options); |
|
108 | } catch (ClientException $ex) { |
|
109 | // get error from response |
|
110 | $decodedResponseBody = $this->getDecodedBody($ex->getResponse()->getBody()); |
|
111 | $code = $ex->getResponse()->getStatusCode(); |
|
112 | ||
113 | // handle a service error message |
|
114 | if (is_array($decodedResponseBody) |
|
115 | && isset($decodedResponseBody['error'], $decodedResponseBody['message']) |
|
116 | ) { |
|
117 | switch ($decodedResponseBody['error']) { |
|
118 | case 'MissedRequiredArguments': |
|
119 | throw new MissedArgumentException($decodedResponseBody['message']); |
|
120 | case 'AssistantProfileNotFound': |
|
121 | throw new ProfileNotFoundException($decodedResponseBody['message']); |
|
122 | default: |
|
123 | throw new YandexException($decodedResponseBody['message'], $code); |
|
124 | } |
|
125 | } |
|
126 | ||
127 | // unknown error |
|
128 | throw $ex; |
|
129 | } |
|
130 | ||
131 | return $response; |
|
132 | } |
|
133 | ||
134 | /** |
|
135 | * @param string $resource |