<?php
/**
* @package phprouter
*/
namespace phprouter;
/**
* Some data about HTTP/1.1 specification
* @package phprouter
*/
abstract class Http
{
/**
* List of all the HTTP status code and their reason phrases
* @see http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1
* @var array
*/
static $status_codes = array(
// 1xx: Informational - Request received, continuing process
100 => '100 Continue',
101 => '101 Switching Protocols',
// 2xx: Success - The action was successfully received,
// understood, and accepted
200 => '200 OK',
201 => '201 Created',
202 => '202 Accepted',
203 => '203 Non-Authoritative Information',
204 => '204 No Content',
205 => '205 Reset Content',
206 => '206 Partial Content',
// 3xx: Redirection - Further action must be taken in order to
// complete the request
300 => '300 Multiple Choices',
301 => '301 Moved Permanently',
302 => '302 Found',
303 => '303 See Other',
304 => '304 Not Modified',
305 => '305 Use Proxy',
307 => '307 Temporary Redirect',
// 4xx: Client Error - The request contains bad syntax or cannot
// be fulfilled
400 => '400 Bad Request',
401 => '401 Unauthorized',
402 => '402 Payment Required',
403 => '403 Forbidden',
404 => '404 Not Found',
405 => '405 Method Not Allowed',
406 => '406 Not Acceptable',
407 => '407 Proxy Authentication Required',
408 => '408 Request Time-out',
409 => '409 Conflict',
410 => '410 Gone',
411 => '411 Length Required',
412 => '412 Precondition Failed',
413 => '413 Request Entity Too Large',
414 => '414 Request-URI Too Large',
415 => '415 Unsupported Media Type',
416 => '416 Requested range not satisfiable',
417 => '417 Expectation Failed',
// 5xx: Server Error - The server failed to fulfill an apparently
// valid request
500 => '500 Internal Server Error',
501 => '501 Not Implemented',
502 => '502 Bad Gateway',
503 => '503 Service Unavailable',
504 => '504 Gateway Time-out',
505 => '505 HTTP Version not supported'
);
/**
* Regular expression used to validate an HTTP status code
* @var string
*/
static $status_codes_regex = '(10(?:0|1)|20[0-6]|30(?:[0-5]|7)|4(?:0[0-9]|1[0-7])|50[0-5])';
/**
* List of the HTTP methods
* @link http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
* @var array
* @access private
*/
static $methods = array(
'OPTIONS',
'GET',
'HEAD',
'PUT',
'POST',
'DELETE',
'TRACE',
'CONNECT'
);
}
/* EOF */