/** * Factory for producing an HttpCacheListener. * * Duck-types on the $container type to allow usage with * zend-servicemanager versions 2.5+ and 3.0+. * * @param ContainerInterface $container * @return HttpCacheListener */ public function __invoke(ContainerInterface $container) { $config = []; if ($container->has('config')) { $config = $container->get('config'); if (isset($config['zf-http-cache'])) { $config = $config['zf-http-cache']; } } $httpCacheListener = new HttpCacheListener($this->getETagGenerator($config, $container)); $httpCacheListener->setConfig($config); return $httpCacheListener; }
/** * @covers \ZF\HttpCache\HttpCacheListener::setvary * @dataProvider setNotModifiedDataProvider * * @param array $requestHeaders * @param array $responseHeaders * @param array $exStatusCode * @internal param array $cacheConfig */ public function testSetNotModified(array $requestHeaders, array $responseHeaders, $exStatusCode) { $request = new HttpRequest(); $request->getHeaders()->addHeaders($requestHeaders); $response = new HttpResponse(); $response->getHeaders()->addHeaders($responseHeaders); $this->instance->setNotModified($request, $response); $this->assertSame($exStatusCode, $response->getStatusCode()); }