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()); }
/** * 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; }