public function ping() { $options = array('timeout' => 7200, 'headers' => array('X-StorageApi-Token' => $this->storageApi->getTokenString(), 'Accept-Encoding' => 'gzip', 'User-Agent' => $this->storageApi->getUserAgent())); if ($this->storageApi->getRunId()) { $options['headers']['X-KBC-RunId'] = $this->storageApi->getRunId(); } try { $response = $this->client->get('storage/tokens/verify', $options); } catch (RequestException $e) { $response = $e->getResponse(); if ($response && $response->getStatusCode() == 503) { return false; } else { throw $e; } } if ($response && $response->getStatusCode() == 200) { $body = ResponseDecoder::decode($response); return array_key_exists('token', $body); } return false; }