From d50bca05c1a8f594a70c53d50a27face7c0a66b9 Mon Sep 17 00:00:00 2001 From: Rob van Aarle Date: Wed, 12 Jul 2023 14:12:22 +0200 Subject: [PATCH] Use 'consumes' for Content-Type. Replaced API_CONTENT_TYPE_JSON constant with fallback constants for both Content-Type and Accept. --- src/BaseClient.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/BaseClient.php b/src/BaseClient.php index 761db1a..8866ba1 100644 --- a/src/BaseClient.php +++ b/src/BaseClient.php @@ -21,7 +21,8 @@ class BaseClient { protected const API_TOKEN_URI = 'https://login.bol.com/token'; protected const API_ENDPOINT = 'https://api.bol.com/'; - protected const API_CONTENT_TYPE_JSON = 'application/vnd.retailer.v10+json'; + protected const API_CONTENT_TYPE_FALLBACK = 'application/vnd.retailer.v10+json'; + protected const API_ACCEPT_FALLBACK = 'application/vnd.retailer.v10+json'; /** * @var bool Whether request will be sent to the demo endpoint. @@ -390,13 +391,13 @@ private function prepareAndExecuteRequest(string $method, string $url, array $op $httpOptions = []; $httpOptions['headers'] = [ - 'Accept' => $options['produces'] ?? static::API_CONTENT_TYPE_JSON, + 'Accept' => $options['produces'] ?? static::API_ACCEPT_FALLBACK, 'Authorization' => sprintf('Bearer %s', $this->accessToken->getToken()), ]; // encode the body if a model is supplied for it if (isset($options['body']) && $options['body'] instanceof AbstractModel) { - $httpOptions['headers']['Content-Type'] = static::API_CONTENT_TYPE_JSON; + $httpOptions['headers']['Content-Type'] = $options['consumes'] ?? static::API_CONTENT_TYPE_FALLBACK; $httpOptions['body'] = json_encode($options['body']->toArray(true)); }