0 follower

Final Class Yiisoft\HttpMiddleware\HttpCache\ETagProvider\PredefinedETagProvider

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

Provides Yiisoft\HttpMiddleware\HttpCache\ETag from a predefined collection. Useful for testing purposes.

Method Details

Hide inherited methods

__construct() public method

public __construct( iterable $tags ): mixed
$tags iterable

Predefined Yiisoft\HttpMiddleware\HttpCache\ETag to be returned by the provider.

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

            
get() public method

public get( \Psr\Http\Message\ServerRequestInterface $request ): Yiisoft\HttpMiddleware\HttpCache\ETag
$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;
}