protected function setUp()
{
$stack = HandlerStack::create(function (RequestInterface $request, array $options) {
switch ($request->getUri()->getPath()) {
case '/vary':
return new FulfilledPromise((new Response())->withAddedHeader('Vary', '*'));
case '/no-store':
return new FulfilledPromise((new Response())->withAddedHeader('Cache-Control', 'no-store'));
case '/no-cache':
return new FulfilledPromise((new Response())->withAddedHeader('Cache-Control', 'no-cache'));
case '/pragma':
return new FulfilledPromise((new Response())->withAddedHeader('Pragma', 'no-cache'));
case '/partial-content':
return new FulfilledPromise((new Response())->withStatus(206));
}
throw new \InvalidArgumentException();
});
$stack->push(new CacheMiddleware(new GreedyCacheStrategy(null, 10)));
$this->client = new Client(['handler' => $stack]);
}