for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @author Dmitry Gladyshev <[email protected]>
* @date 17/08/2016 13:44
*/
namespace Yandex\Direct\Transport;
use Yandex\Direct\ConfigurableTrait;
use Yandex\Direct\Exception\InvalidArgumentException;
* Class TransportRequest
* @package Yandex\Direct
class Response implements ResponseInterface
{
use ConfigurableTrait;
const UNITS_TYPE_DEBIT = 0;
const UNITS_TYPE_REST = 1;
const UNITS_TYPE_LIMIT = 2;
* Response constructor.
*
* @param array $responseAttributes
public function __construct(array $responseAttributes)
$this->setOptions($responseAttributes);
}
* @var array
protected $units = [null, null, null];
* @var string
protected $requestId;
protected $body;
protected $headers = [];
* @return array
public function getUnits()
return $this->units;
* @param string $rawUnits
* @throws InvalidArgumentException
public function setUnits($rawUnits)
$units = explode('/', $rawUnits);
if (is_array($units)
&& count($units) > 0
) {
$this->units = $units;
* @inheritdoc
public function getRequestId()
return $this->requestId;
public function getUnitsDebit()
return $this->getUnits()[self::UNITS_TYPE_DEBIT];
public function getUnitsRest()
return $this->getUnits()[self::UNITS_TYPE_REST];
public function getUnitsLimit()
return $this->getUnits()[self::UNITS_TYPE_LIMIT];
public function getBody()
return $this->body;
public function getHeaders()
return $this->headers;