ok
Direktori : /home2/selectio/www/fms-worksuite/vendor/square/square/src/Apis/ |
Current File : /home2/selectio/www/fms-worksuite/vendor/square/square/src/Apis/BaseApi.php |
<?php declare(strict_types=1); namespace Square\Apis; use Square\Http\HttpCallBack; use Square\Http\HttpResponse; use Square\ConfigurationInterface; use Square\AuthManagerInterface; use apimatic\jsonmapper\JsonMapper; use Unirest\Request; /** * Base controller */ class BaseApi { /** * User-agent to be sent with API calls * * @var string */ protected const USER_AGENT = 'Square-PHP-SDK/16.0.0.20211117'; /** * HttpCallBack instance associated with this controller * * @var HttpCallBack|null */ private $httpCallBack; /** * Configuration instance * * @var ConfigurationInterface */ protected $config; /** * List of auth managers for this controller. * * @var array */ private $authManagers = []; /** * Constructor that sets the timeout of requests */ protected function __construct(ConfigurationInterface $config, array $authManagers, ?HttpCallBack $httpCallBack) { $this->config = $config; $this->authManagers = $authManagers; $this->httpCallBack = $httpCallBack; Request::timeout($config->getTimeout()); Request::enableRetries($config->shouldEnableRetries()); Request::maxNumberOfRetries($config->getNumberOfRetries()); Request::retryInterval($config->getRetryInterval()); Request::backoffFactor($config->getBackOffFactor()); Request::maximumRetryWaitTime($config->getMaximumRetryWaitTime()); Request::retryOnTimeout($config->shouldRetryOnTimeout()); Request::httpMethodsToRetry($config->getHttpMethodsToRetry()); Request::httpStatusCodesToRetry($config->getHttpStatusCodesToRetry()); } /** * Get auth manager for the provided namespace key. * * @param string $key Namespace key * @return AuthManagerInterface The AuthManager set for this key. */ protected function getAuthManager(string $key): AuthManagerInterface { return $this->authManagers[$key]; } /** * Get HttpCallBack for this controller * * @return HttpCallBack|null The HttpCallBack object set for this controller */ public function getHttpCallBack(): ?HttpCallBack { return $this->httpCallBack; } /** * Get a new JsonMapper instance for mapping objects * * @return \apimatic\jsonmapper\JsonMapper JsonMapper instance */ protected function getJsonMapper(): JsonMapper { $mapper = new JsonMapper(); return $mapper; } /** * Is the response valid? */ protected function isValidResponse(HttpResponse $response): bool { return $response->getStatusCode() >= 200 && $response->getStatusCode() < 300; } }