public function testContentSentAndHeadersSent()
 {
     $mockResponse = $this->getMockForAbstractClass('Zend\\Stdlib\\ResponseInterface');
     $mockResponse2 = $this->getMockForAbstractClass('Zend\\Stdlib\\ResponseInterface');
     $event = new SendResponseEvent();
     $event->setResponse($mockResponse);
     $this->assertFalse($event->headersSent());
     $this->assertFalse($event->contentSent());
     $event->setHeadersSent();
     $event->setContentSent();
     $this->assertTrue($event->headersSent());
     $this->assertTrue($event->contentSent());
     $event->setResponse($mockResponse2);
     $this->assertFalse($event->headersSent());
     $this->assertFalse($event->contentSent());
 }
Пример #2
0
 /**
  * Send HTTP headers
  *
  * @param  SendResponseEvent $event
  * @return self
  */
 public function sendHeaders(SendResponseEvent $event)
 {
     if (headers_sent() || $event->headersSent()) {
         return $this;
     }
     $response = $event->getResponse();
     foreach ($response->getHeaders() as $header) {
         if ($header instanceof MultipleHeaderInterface) {
             header($header->toString(), false);
             continue;
         }
         header($header->toString());
     }
     $status = $response->renderStatusLine();
     header($status);
     $event->setHeadersSent();
     return $this;
 }