@@ 109-138 (lines=30) @@ | ||
106 | * @throws ProfileNotFoundException |
|
107 | * @throws YandexException |
|
108 | */ |
|
109 | protected function sendRequest($method, $uri, array $options = []) |
|
110 | { |
|
111 | //todo: implement Webmaster Exceptions |
|
112 | try { |
|
113 | $response = $this->getClient()->request($method, $uri, $options); |
|
114 | } catch (ClientException $ex) { |
|
115 | // get error from response |
|
116 | $decodedResponseBody = $this->getDecodedBody($ex->getResponse()->getBody()); |
|
117 | $code = $ex->getResponse()->getStatusCode(); |
|
118 | ||
119 | // handle a service error message |
|
120 | if (is_array($decodedResponseBody) |
|
121 | && isset($decodedResponseBody['error'], $decodedResponseBody['message']) |
|
122 | ) { |
|
123 | switch ($decodedResponseBody['error']) { |
|
124 | case 'MissedRequiredArguments': |
|
125 | throw new MissedArgumentException($decodedResponseBody['message']); |
|
126 | case 'AssistantProfileNotFound': |
|
127 | throw new ProfileNotFoundException($decodedResponseBody['message']); |
|
128 | default: |
|
129 | throw new YandexException($decodedResponseBody['message'], $code); |
|
130 | } |
|
131 | } |
|
132 | ||
133 | // unknown error |
|
134 | throw $ex; |
|
135 | } |
|
136 | ||
137 | return $response; |
|
138 | } |
|
139 | ||
140 | /** |
|
141 | * @param string $resource |
@@ 306-334 (lines=29) @@ | ||
303 | * @throws Exception\YandexException |
|
304 | * @return Response |
|
305 | */ |
|
306 | protected function sendRequest($method, $uri, array $options = []) |
|
307 | { |
|
308 | try { |
|
309 | $response = $this->getClient()->request($method, $uri, $options); |
|
310 | } catch (ClientException $ex) { |
|
311 | // get error from response |
|
312 | $decodedResponseBody = $this->getDecodedBody($ex->getResponse()->getBody()); |
|
313 | $code = $ex->getResponse()->getStatusCode(); |
|
314 | ||
315 | // handle a service error message |
|
316 | if (is_array($decodedResponseBody) |
|
317 | && isset($decodedResponseBody['error'], $decodedResponseBody['message']) |
|
318 | ) { |
|
319 | switch ($decodedResponseBody['error']) { |
|
320 | case 'MissedRequiredArguments': |
|
321 | throw new MissedArgumentException($decodedResponseBody['message']); |
|
322 | case 'AssistantProfileNotFound': |
|
323 | throw new ProfileNotFoundException($decodedResponseBody['message']); |
|
324 | default: |
|
325 | throw new YandexException($decodedResponseBody['message'], $code); |
|
326 | } |
|
327 | } |
|
328 | ||
329 | // unknown error |
|
330 | throw $ex; |
|
331 | } |
|
332 | ||
333 | return $response; |
|
334 | } |
|
335 | ||
336 | /** |
|
337 | * @param $body |