/** * Returns the response data from the Forecast.io in the * form of an array * * @param float $latitude * @param float $longitude * @param \DateTime $time * * @return array */ public function getForecast($latitude, $longitude, \DateTime $time = null) { $this->requestedUrl = Overcast::API_ENDPOINT . Overcast::getApiKey() . '/' . $latitude . ',' . $longitude; $response = $this->guzzleClient->get($this->requestedUrl); $this->responseHeaders = ['cache' => ['maxAge' => (int) trim(substr($response->getHeader('cache-control'), strrpos($response->getHeader('cache-control'), '=') + 1)), 'expires' => $response->getHeader('expires')], 'responseTime' => (int) $response->getHeader('x-response-time'), 'apiCalls' => (int) $response->getHeader('x-forecast-api-calls')]; return $response->json(); }
/** * Returns the response data from the Forecast.io in the * form of an array * * @param float $latitude * @param float $longitude * @param \DateTime $time * * @return array */ public function getForecast($latitude, $longitude, \DateTime $time = null) { $this->requestedUrl = Overcast::API_ENDPOINT . Overcast::getApiKey() . '/' . $latitude . ',' . $longitude; if (!is_null($time)) { $this->requestedUrl .= ',' . $time->getTimestamp(); } $this->response = json_decode(file_get_contents($this->requestedUrl), true); $this->responseHeaders = $this->parseForecastResponseHeaders($http_response_header); return $this->response; }