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;
 }