public function testSendHeadersMergesApplicationAndProblemHttpHeaders() { $appResponse = new HttpResponse(); $appResponse->getHeaders()->addHeaderLine('Access-Control-Allow-Origin', '*'); $listener = new SendApiProblemResponseListener(); $listener->setApplicationResponse($appResponse); ob_start(); $listener->sendHeaders($this->event); ob_get_clean(); $headers = $this->response->getHeaders(); $this->assertTrue($headers->has('Access-Control-Allow-Origin')); }
/** * @param ContainerInterface $container * @return SendApiProblemResponseListener */ public function __invoke(ContainerInterface $container) { $config = $container->get('config'); $displayExceptions = isset($config['view_manager']) && isset($config['view_manager']['display_exceptions']) && $config['view_manager']['display_exceptions']; $listener = new SendApiProblemResponseListener(); $listener->setDisplayExceptions($displayExceptions); if ($container->has('Response')) { $response = $container->get('Response'); if ($response instanceof HttpResponse) { $listener->setApplicationResponse($response); } } return $listener; }
/** * {@inheritDoc} * @return SendApiProblemResponseListener */ public function createService(ServiceLocatorInterface $serviceLocator) { $config = $serviceLocator->get('Config'); $displayExceptions = isset($config['view_manager']) && isset($config['view_manager']['display_exceptions']) && $config['view_manager']['display_exceptions']; $listener = new SendApiProblemResponseListener(); $listener->setDisplayExceptions($displayExceptions); if ($serviceLocator->has('Response')) { $response = $serviceLocator->get('Response'); if ($response instanceof HttpResponse) { $listener->setApplicationResponse($response); } } return $listener; }