client = $client; $this->requestFactory = $requestFactory; } /** * @throws RuntimeException if the response content is invalid */ protected function getContent(string $url, array $header = []): string { $request = $this->requestFactory->createRequest('GET', $url); foreach ($header as $k => $v) { $request = $request->withHeader($k, $v); } $response = $this->client->sendRequest($request); if ($response->getStatusCode() >= 400) { throw new RuntimeException('Unable to get the key set.', $response->getStatusCode()); } return $response->getBody()->getContents(); } }