From b2c23d88e8f9d2a812a88e2fb40019d8a5d17aac Mon Sep 17 00:00:00 2001 From: Joshua Spence Date: Tue, 7 Apr 2015 07:37:16 +1000 Subject: [PATCH] Implement HTTP response messages Summary: Fixes T7486. Implement HTTP response messages such as `200 OK` and `404 Not Found`. The status codes were taken from http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html. Test Plan: Navigated to `/foo` and saw the response showing `404 Not Found` in the Network tab of Chrome. Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: Korvin, epriestley Maniphest Tasks: T7486 Differential Revision: https://secure.phabricator.com/D12299 --- src/aphront/response/AphrontResponse.php | 47 +++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/src/aphront/response/AphrontResponse.php b/src/aphront/response/AphrontResponse.php index 4cf420f066..0bbe22b5ec 100644 --- a/src/aphront/response/AphrontResponse.php +++ b/src/aphront/response/AphrontResponse.php @@ -81,7 +81,52 @@ abstract class AphrontResponse { } public function getHTTPResponseMessage() { - return ''; + switch ($this->getHTTPResponseCode()) { + case 100: return 'Continue'; + case 101: return 'Switching Protocols'; + case 200: return 'OK'; + case 201: return 'Created'; + case 202: return 'Accepted'; + case 203: return 'Non-Authoritative Information'; + case 204: return 'No Content'; + case 205: return 'Reset Content'; + case 206: return 'Partial Content'; + case 300: return 'Multiple Choices'; + case 301: return 'Moved Permanently'; + case 302: return 'Found'; + case 303: return 'See Other'; + case 304: return 'Not Modified'; + case 305: return 'Use Proxy'; + case 306: return 'Switch Proxy'; + case 307: return 'Temporary Redirect'; + case 400: return 'Bad Request'; + case 401: return 'Unauthorized'; + case 402: return 'Payment Required'; + case 403: return 'Forbidden'; + case 404: return 'Not Found'; + case 405: return 'Method Not Allowed'; + case 406: return 'Not Acceptable'; + case 407: return 'Proxy Authentication Required'; + case 408: return 'Request Timeout'; + case 409: return 'Conflict'; + case 410: return 'Gone'; + case 411: return 'Length Required'; + case 412: return 'Precondition Failed'; + case 413: return 'Request Entity Too Large'; + case 414: return 'Request-URI Too Long'; + case 415: return 'Unsupported Media Type'; + case 416: return 'Requested Range Not Satisfiable'; + case 417: return 'Expectation Failed'; + case 418: return "I'm a teapot"; + case 426: return 'Upgrade Required'; + case 500: return 'Internal Server Error'; + case 501: return 'Not Implemented'; + case 502: return 'Bad Gateway'; + case 503: return 'Service Unavailable'; + case 504: return 'Gateway Timeout'; + case 505: return 'HTTP Version Not Supported'; + default: return ''; + } } public function setFrameable($frameable) { -- 2.54.0