+ return new API\ContentType($this->api->getVersion(), $type->value);
+ }
+
+ /**
+ * @throws \Exception
+ */
+ private function checkResponseBody(Response $response, API\ContentType $type) : mixed {
+ try {
+ $data = $type->decode($response->getBody());
+ } catch (\Exception $e) {
+ $this->api->getLogger()->error("response -> error: ".$e->getMessage(), [
+ "url" => (string) $this->api->getUrl(),
+ ]);
+
+ throw $e;
+ }
+
+ return $data;