From 452930a6cc45616c08a1eee87c421040c5d2dd20 Mon Sep 17 00:00:00 2001 From: David Fox Date: Tue, 20 Feb 2024 19:46:31 -0500 Subject: [PATCH] access mode --- src/HttpClient/Client.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/HttpClient/Client.php b/src/HttpClient/Client.php index 0d23951..901b7c9 100644 --- a/src/HttpClient/Client.php +++ b/src/HttpClient/Client.php @@ -18,7 +18,7 @@ class Client const CONFIG_CYPHER_RETRY_MAX_INTERVAL_MS = 'cypher_retry_max_interval_ms'; const CONFIG_REQUEST_MAX_RETRIES = 'request_max_retries'; const CONFIG_REQUEST_RETRY_INTERVAL_MS = 'request_retry_interval_ms'; - + const CONFIG_ACCESS_MODE = 'access_mode'; const ERROR_MODE_HIDE_ERRORS = 'hide'; const ERROR_MODE_THROW_ERRORS = 'throw'; @@ -38,6 +38,7 @@ class Client self::CONFIG_CYPHER_RETRY_MAX_INTERVAL_MS => 50, self::CONFIG_REQUEST_MAX_RETRIES => 0, self::CONFIG_REQUEST_RETRY_INTERVAL_MS => 300, + self::CONFIG_ACCESS_MODE => null, ]; const RETRYABLE_CYPHER_ERROR_CODES = [ @@ -99,6 +100,12 @@ public function getCypherMaxRetries() : int return $this->_config[self::CONFIG_CYPHER_MAX_RETRIES]; } + public function getAccessMode() : ?string { + + return $this->_config[self::CONFIG_ACCESS_MODE]; + + } + public function getCypherRetryIntervalMs() : int { return $this->_config[self::CONFIG_CYPHER_RETRY_MAX_INTERVAL_MS]; @@ -238,6 +245,12 @@ private function _getRequestHeaders() : array $headers['Authorization'] = 'Basic ' . base64_encode($this->_config['username'] . ':' . $this->_config['password']); } + $access_mode = $this->getAccessMode(); + + if ($access_mode && is_string($access_mode)) { + $headers['Access-Mode'] = $access_mode; + } + return $headers; }