From 2c5ec2ae87669df11e98d522375b9f3f332bfb34 Mon Sep 17 00:00:00 2001 From: thinkphp Date: Tue, 26 Jan 2016 09:30:07 +0800 Subject: [PATCH] =?UTF-8?q?Response::sendHttpStatus=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=BA=9F=E5=BC=83=20=E6=94=B9=E4=B8=BAhttp=5Fresponse=5Fcode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Error.php | 2 +- library/think/Response.php | 59 ------------------- library/think/controller/Rest.php | 2 +- tests/thinkphp/library/think/responseTest.php | 11 ---- 4 files changed, 2 insertions(+), 72 deletions(-) diff --git a/library/think/Error.php b/library/think/Error.php index 3c16ec58..acee443e 100644 --- a/library/think/Error.php +++ b/library/think/Error.php @@ -28,7 +28,7 @@ class Error 'code' => $e->getCode(), ]; // 发送http状态信息 - Response::sendHttpStatus(Config::get('exception_http_status')); + http_response_code(Config::get('exception_http_status')); // 输出异常页面 self::halt($error); } diff --git a/library/think/Response.php b/library/think/Response.php index e2b902f7..4fd76d59 100644 --- a/library/think/Response.php +++ b/library/think/Response.php @@ -250,63 +250,4 @@ class Response header($name . ':' . $value); } - // 发送Http状态信息 - public static function sendHttpStatus($status) - { - static $_status = [ - // Informational 1xx - 100 => 'Continue', - 101 => 'Switching Protocols', - // Success 2xx - 200 => 'OK', - 201 => 'Created', - 202 => 'Accepted', - 203 => 'Non-Authoritative Information', - 204 => 'No Content', - 205 => 'Reset Content', - 206 => 'Partial Content', - // Redirection 3xx - 300 => 'Multiple Choices', - 301 => 'Moved Permanently', - 302 => 'Moved Temporarily ', // 1.1 - 303 => 'See Other', - 304 => 'Not Modified', - 305 => 'Use Proxy', - // 306 is deprecated but reserved - 307 => 'Temporary Redirect', - // Client Error 4xx - 400 => 'Bad Request', - 401 => 'Unauthorized', - 402 => 'Payment Required', - 403 => 'Forbidden', - 404 => 'Not Found', - 405 => 'Method Not Allowed', - 406 => 'Not Acceptable', - 407 => 'Proxy Authentication Required', - 408 => 'Request Timeout', - 409 => 'Conflict', - 410 => 'Gone', - 411 => 'Length Required', - 412 => 'Precondition Failed', - 413 => 'Request Entity Too Large', - 414 => 'Request-URI Too Long', - 415 => 'Unsupported Media Type', - 416 => 'Requested Range Not Satisfiable', - 417 => 'Expectation Failed', - // Server Error 5xx - 500 => 'Internal Server Error', - 501 => 'Not Implemented', - 502 => 'Bad Gateway', - 503 => 'Service Unavailable', - 504 => 'Gateway Timeout', - 505 => 'HTTP Version Not Supported', - 509 => 'Bandwidth Limit Exceeded', - ]; - if (isset($_status[$status])) { - header('HTTP/1.1 ' . $status . ' ' . $_status[$status]); - // 确保FastCGI模式下正常 - header('Status:' . $status . ' ' . $_status[$status]); - } - } - } diff --git a/library/think/controller/Rest.php b/library/think/controller/Rest.php index 33a07a19..33372e1b 100644 --- a/library/think/controller/Rest.php +++ b/library/think/controller/Rest.php @@ -92,7 +92,7 @@ abstract class Rest */ protected function response($data, $type = '', $code = 200) { - Response::sendHttpStatus($code); + http_response_code($code); Response::data($data); if ($type) { Response::type($type); diff --git a/tests/thinkphp/library/think/responseTest.php b/tests/thinkphp/library/think/responseTest.php index b4b6da06..b300f861 100644 --- a/tests/thinkphp/library/think/responseTest.php +++ b/tests/thinkphp/library/think/responseTest.php @@ -304,15 +304,4 @@ class responseTest extends \PHPUnit_Framework_TestCase // $this->assertContains($name . ': ' . $url, xdebug_get_headers()); } - /** - * @#runInSeparateProcess - * @covers think\Response::sendHttpStatus - * @todo Implement testSendHttpStatus(). - */ - public function testSendHttpStatus() - { - // \think\Response::sendHttpStatus(416); - // $this->assertContains('HTTP/1.1 ' . ': ' . $status, xdebug_get_headers()); - // $this->assertContains('Status:' . ': ' . $status, xdebug_get_headers()); - } }