/** * Send headers for HTTP response * * @return void */ protected function sendHeaders() { //Finalize response $this->finalize(); //Send HTTP message header('HTTP/1.1 ' . Response::getMessageForCode($this->status())); //Send headers foreach ($this->headers() as $name => $value) { header("{$name}: {$value}"); } //Send cookies foreach ($this->cookies as $cookie) { if (empty($cookie->value)) { setcookie($cookie->name, '', time() - 90000, $cookie->path, $cookie->domain, $cookie->secure, $cookie->httponly); } else { setcookie($cookie->name, $cookie->value, $cookie->expires, $cookie->path, $cookie->domain, $cookie->secure, $cookie->httponly); } } //Flush all output to client flush(); }
/** * Test get messages for code * * Pre-conditions: * Case A: Status = 200 * Case B: Status = 304 * Case C: Status = 420 //Fake * * Post-conditions: * Case A: Message = '200 OK' * Case B: Message = '304 Not Modified' * Case C: Message = NULL */ public function testGetMessageForCode() { //Case A $this->assertEquals(Response::getMessageForCode(200), '200 OK'); //Case B $this->assertEquals(Response::getMessageForCode(304), '304 Not Modified'); //Case C $this->assertNull(Response::getMessageForCode(420)); }