responseHeaders = $responseHeaders; $this->responseBody = $responseBody; } /** * @return string[] */ public function getResponseHeaders(): array { return $this->responseHeaders; } public function getResponseBody(): ?string { return $this->responseBody; } protected function parseErrorResponse(mixed $responseBody): string { $errorData = json_decode($responseBody, true); $message = ''; if (isset($errorData['description'])) { $this->errorDescription = $errorData['description']; $message .= $errorData['description'] . '. '; } if (isset($errorData['code'])) { $this->errorCode = $errorData['code']; $message .= sprintf('Error code: %s. ', $errorData['code']); } if (isset($errorData['parameter'])) { $this->errorParameter = $errorData['parameter']; $message .= sprintf('Parameter name: %s. ', $errorData['parameter']); } if (isset($errorData['retry_after'])) { $this->retryAfter = $errorData['retry_after']; } if (isset($errorData['type'])) { $this->type = $errorData['type']; } if (isset($errorData['id'])) { $this->errorId = $errorData['id']; } return $message; } public function getErrorId(): ?string { return $this->errorId; } public function getErrorCode(): ?string { return $this->errorCode; } public function getErrorDescription(): ?string { return $this->errorDescription; } public function getErrorParameter(): ?string { return $this->errorParameter; } }