%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/public_html/admin1/vendor/square/square/src/Apis/ |
Upload File : |
<?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;
}
}