Skip to content

Commit

Permalink
Array of status codes is no longer a property in Http\Response.
Browse files Browse the repository at this point in the history
  • Loading branch information
SidRoberts committed Jan 19, 2016
1 parent 6429b5a commit ca7753a
Showing 1 changed file with 68 additions and 72 deletions.
140 changes: 68 additions & 72 deletions phalcon/http/response.zep
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,6 @@ class Response implements ResponseInterface, InjectionAwareInterface

protected _dependencyInjector;

protected _statusCodes;

/**
* Phalcon\Http\Response constructor
*
Expand Down Expand Up @@ -110,7 +108,7 @@ class Response implements ResponseInterface, InjectionAwareInterface
*/
public function setStatusCode(int code, string message = null) -> <Response>
{
var headers, currentHeadersRaw, key, defaultMessage;
var headers, currentHeadersRaw, key, statusCodes, defaultMessage;

let headers = this->getHeaders(),
currentHeadersRaw = headers->toArray();
Expand All @@ -132,78 +130,76 @@ class Response implements ResponseInterface, InjectionAwareInterface
// status code. If a default doesn't exist, stop here.
if message === null {

if typeof this->_statusCodes != "array" {
let this->_statusCodes = [
// INFORMATIONAL CODES
100 : "Continue",
101 : "Switching Protocols",
102 : "Processing",
// SUCCESS CODES
200 : "OK",
201 : "Created",
202 : "Accepted",
203 : "Non-Authoritative Information",
204 : "No Content",
205 : "Reset Content",
206 : "Partial Content",
207 : "Multi-status",
208 : "Already Reported",
// REDIRECTION CODES
300 : "Multiple Choices",
301 : "Moved Permanently",
302 : "Found",
303 : "See Other",
304 : "Not Modified",
305 : "Use Proxy",
306 : "Switch Proxy", // Deprecated
307 : "Temporary Redirect",
// CLIENT ERROR
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 Time-out",
409 : "Conflict",
410 : "Gone",
411 : "Length Required",
412 : "Precondition Failed",
413 : "Request Entity Too Large",
414 : "Request-URI Too Large",
415 : "Unsupported Media Type",
416 : "Requested range not satisfiable",
417 : "Expectation Failed",
418 : "I'm a teapot",
422 : "Unprocessable Entity",
423 : "Locked",
424 : "Failed Dependency",
425 : "Unordered Collection",
426 : "Upgrade Required",
428 : "Precondition Required",
429 : "Too Many Requests",
431 : "Request Header Fields Too Large",
// SERVER ERROR
500 : "Internal Server Error",
501 : "Not Implemented",
502 : "Bad Gateway",
503 : "Service Unavailable",
504 : "Gateway Time-out",
505 : "HTTP Version not supported",
506 : "Variant Also Negotiates",
507 : "Insufficient Storage",
508 : "Loop Detected",
511 : "Network Authentication Required"
];
}

if !isset this->_statusCodes[code] {
let statusCodes = [
// INFORMATIONAL CODES
100 : "Continue",
101 : "Switching Protocols",
102 : "Processing",
// SUCCESS CODES
200 : "OK",
201 : "Created",
202 : "Accepted",
203 : "Non-Authoritative Information",
204 : "No Content",
205 : "Reset Content",
206 : "Partial Content",
207 : "Multi-status",
208 : "Already Reported",
// REDIRECTION CODES
300 : "Multiple Choices",
301 : "Moved Permanently",
302 : "Found",
303 : "See Other",
304 : "Not Modified",
305 : "Use Proxy",
306 : "Switch Proxy", // Deprecated
307 : "Temporary Redirect",
// CLIENT ERROR
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 Time-out",
409 : "Conflict",
410 : "Gone",
411 : "Length Required",
412 : "Precondition Failed",
413 : "Request Entity Too Large",
414 : "Request-URI Too Large",
415 : "Unsupported Media Type",
416 : "Requested range not satisfiable",
417 : "Expectation Failed",
418 : "I'm a teapot",
422 : "Unprocessable Entity",
423 : "Locked",
424 : "Failed Dependency",
425 : "Unordered Collection",
426 : "Upgrade Required",
428 : "Precondition Required",
429 : "Too Many Requests",
431 : "Request Header Fields Too Large",
// SERVER ERROR
500 : "Internal Server Error",
501 : "Not Implemented",
502 : "Bad Gateway",
503 : "Service Unavailable",
504 : "Gateway Time-out",
505 : "HTTP Version not supported",
506 : "Variant Also Negotiates",
507 : "Insufficient Storage",
508 : "Loop Detected",
511 : "Network Authentication Required"
];

if !isset statusCodes[code] {
throw new Exception("Non-standard statuscode given without a message");
}

let defaultMessage = this->_statusCodes[code],
let defaultMessage = statusCodes[code],
message = defaultMessage;
}

Expand Down

0 comments on commit ca7753a

Please sign in to comment.