예제 #1
0
파일: App_old.php 프로젝트: netom/bulletphp
 /**
  * Send HTTP response with status code and content
  */
 public function response($statusCode = null, $content = null)
 {
     $res = null;
     // Get current response (passed nothing)
     if ($statusCode === null) {
         $res = $this->_response;
         // Set response
     } elseif ($statusCode instanceof \Bullet\Response) {
         $res = $this->_response = $statusCode;
     }
     // Create new response if none is going to be returned
     if ($res === null) {
         $res = new \Bullet\Response($content, $statusCode);
         // If content not set, use default HTTP
         if ($content === null) {
             $res->content($res->statusText($statusCode));
         }
     }
     // Ensure no response body is sent for special status codes or for HEAD requests
     if (in_array($res->status(), array(204, 205, 304)) || $this->request()->method() === 'HEAD') {
         $res->content('');
     }
     // If this is the first response sent, store it
     if ($this->_response === null) {
         $this->_response = $res;
     }
     return $res;
 }