Select Git revision
HttpClientRequestException.php
-
Grzegorz Rola authoredGrzegorz Rola authored
ClientImplementation.php 6.04 KiB
<?php
namespace WPDesk\ApiClient\Client;
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
use WPDesk\HttpClient\HttpClient;
use WPDesk\HttpClient\HttpClientResponse;
use WPDesk\ApiClient\Request\Request;
use WPDesk\ApiClient\Response\RawResponse;
use WPDesk\ApiClient\Response\Response;
use WPDesk\ApiClient\Serializer\Serializer;
use WPDesk\HttpClient\HttpClientRequestException;
class ClientImplementation implements Client, LoggerAwareInterface
{
const CLIENT_VERSION = '1.6.5';
const LIBRARY_LOGIN_CONTEXT = 'wp-api-client';
/** @var HttpClient */
private $client;
/** @var Serializer */
private $serializer;
/** @var LoggerInterface */
private $logger;
/** @var string */
private $apiUrl;
/** @var array */
private $defaultRequestHeaders;
/** @var int */
private $timeout;
/** @var bool */
private $is_logger_available = false;
/**
* Client constructor.
* @param HttpClient $client
* @param Serializer $serializer
* @param LoggerInterface $logger
* @param string $apiUri
* @param array $defaultRequestHeaders
* @param int $timeout
*/
public function __construct(
HttpClient $client,
Serializer $serializer,
LoggerInterface $logger,
$apiUri,
array $defaultRequestHeaders,
$timeout = 10
) {
$this->client = $client;
$this->serializer = $serializer;
$this->logger = $logger;
$this->apiUrl = $apiUri;
$this->defaultRequestHeaders = $defaultRequestHeaders;
$this->timeout = $timeout;
$this->is_logger_available = ! $logger instanceof NullLogger;
}
/**
* Send given request trough HttpClient