2021-05-15 18:57:28 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* PHP 7.1
|
|
|
|
*
|
|
|
|
* @category ExactHeaderMatcher
|
|
|
|
* @package Pock\Matchers
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Pock\Matchers;
|
|
|
|
|
2021-05-21 18:05:43 +03:00
|
|
|
use Pock\Comparator\ComparatorLocator;
|
|
|
|
use Pock\Comparator\ScalarFlatArrayComparator;
|
2021-05-15 18:57:28 +03:00
|
|
|
use Psr\Http\Message\RequestInterface;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Class ExactHeaderMatcher
|
|
|
|
*
|
|
|
|
* @category ExactHeaderMatcher
|
|
|
|
* @package Pock\Matchers
|
|
|
|
*/
|
|
|
|
class ExactHeaderMatcher extends HeaderMatcher
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @inheritDoc
|
|
|
|
*/
|
|
|
|
public function matches(RequestInterface $request): bool
|
|
|
|
{
|
|
|
|
if (!$request->hasHeader($this->header)) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
2021-05-21 18:05:43 +03:00
|
|
|
return ComparatorLocator::get(ScalarFlatArrayComparator::class)
|
|
|
|
->compare($request->getHeader($this->header), $this->value);
|
2021-05-15 18:57:28 +03:00
|
|
|
}
|
|
|
|
}
|