31 if ($this->apiKey ===
'')
34 $result->addError(
new Error(
'Missing API key when requesting a service.'));
39 $queryMethod = HttpClient::HTTP_GET;
42 'socketTimeout' => $this->socketTimeout,
43 'streamTimeout' => $this->streamTimeout,
44 'waitResponse' =>
true,
45 'version' => HttpClient::HTTP_1_1,
47 $httpClient->setHeader(
'User-Agent', static::USER_AGENT);
48 $httpClient->setHeader(
'Content-type', static::CONTENT_TYPE);
49 $httpClient->setHeader(
'X-API-KEY', $this->apiKey);
50 $httpClient->setCharset(static::CHARSET);
54 $queryMethod = HttpClient::HTTP_POST;
60 'method' => $queryMethod,
62 'headers' => method_exists($httpClient,
'getRequestHeaders') ? $httpClient->getRequestHeaders()->toArray() : [],
72 if ($httpClient->getStatus() !== 200)
75 'code' => $httpClient->getStatus(),
82 $error = $httpClient->getError();
85 'error' => current(
$error),
89 'statusCode' => $httpClient->getStatus(),
90 'headers' => $httpClient->getHeaders()->toArray(),
91 'body' => $httpClient->getResult(),
97 if (array_key_exists(
'code', $errorInfo) && $errorInfo[
'code'] !==
'ok')
99 $result->addError(
new Error($errorInfo[
'error'], $errorInfo[
'code'], $errorInfo));