0 follower

Final Class Yiisoft\HttpMiddleware\HttpCache\ETagProvider\PredefinedETagProvider

InheritanceYiisoft\HttpMiddleware\HttpCache\ETagProvider\PredefinedETagProvider
ImplementsYiisoft\HttpMiddleware\HttpCache\ETagProvider\ETagProviderInterface

Provides {@see ETag} from a predefined collection. Useful for testing purposes.

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( iterable $tags )
$tags iterable

Predefined {@see \Yiisoft\HttpMiddleware\HttpCache\ETag} to be returned by the provider.

                public function __construct(iterable $tags)
{
    $this->iterator = $this->createIterator($tags);
}

            
get() public method

public Yiisoft\HttpMiddleware\HttpCache\ETag get ( \Psr\Http\Message\ServerRequestInterface $request )
$request \Psr\Http\Message\ServerRequestInterface

                public function get(ServerRequestInterface $request): ETag
{
    if (!$this->iterator->valid()) {
        throw new OutOfBoundsException('No more tags available.');
    }
    /** @var ETag $eTag */
    $eTag = $this->iterator->current();
    $this->iterator->next();
    return $eTag;
}