����JFIF��x�x����'
Server IP : 78.140.185.180 / Your IP : 216.73.216.168 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/www/vendor/algolia/algoliasearch-client-php/src/Response/ |
Upload File : |
<?php namespace Algolia\AlgoliaSearch\Response; use Algolia\AlgoliaSearch\Config\SearchConfig; use Algolia\AlgoliaSearch\Exceptions\NotFoundException; use Algolia\AlgoliaSearch\SearchClient; final class UpdateApiKeyResponse extends AbstractResponse { /** * @var \Algolia\AlgoliaSearch\SearchClient */ private $client; /** * @var \Algolia\AlgoliaSearch\Config\SearchConfig */ private $config; private $keyParams; public function __construct( array $apiResponse, SearchClient $client, SearchConfig $config, $requestOptions ) { $this->apiResponse = $apiResponse; $this->client = $client; $this->config = $config; $this->keyParams = $this->filterOnlyKeyParams($requestOptions); } public function wait($requestOptions = []) { if (!isset($this->client)) { return $this; } $key = $this->apiResponse['key']; $retry = 1; $time = $this->config->getWaitTaskTimeBeforeRetry(); do { try { $this->client->getApiKey($key, $requestOptions); if ($this->isKeyUpdated($key, $this->keyParams)) { unset($this->client, $this->config); return $this; } } catch (NotFoundException $e) { // Try again } $retry++; $factor = ceil($retry / 10); usleep($factor * $time); // 0.1 second } while (true); } private function isKeyUpdated($key, $keyParams) { $upToDate = true; foreach ($keyParams as $param => $value) { if (isset($key[$param])) { $upToDate &= ($key[$param] == $value); } } return $upToDate; } private function filterOnlyKeyParams($requestOptions) { $validKeyParams = [ 'acl', 'indexes', 'referers', 'restrictSources', 'queryParameters', 'description', 'validity', 'maxQueriesPerIPPerHour', 'maxHitsPerQuery', ]; return array_intersect_key($requestOptions, array_flip($validKeyParams)); } }