6 changed files with 99 additions and 164 deletions
-
2ext/standard/tests/general_functions/header_redirection_001.phpt
-
2ext/standard/tests/general_functions/header_redirection_002.phpt
-
82main/http_status_codes.h
-
57sapi/cgi/cgi_main.c
-
62sapi/cli/php_cli_server.c
-
58sapi/fpm/fpm/fpm_main.c
@ -0,0 +1,82 @@ |
|||||
|
/* |
||||
|
+----------------------------------------------------------------------+ |
||||
|
| PHP Version 7 | |
||||
|
+----------------------------------------------------------------------+ |
||||
|
| Copyright (c) 1997-2014 The PHP Group | |
||||
|
+----------------------------------------------------------------------+ |
||||
|
| This source file is subject to version 3.01 of the PHP license, | |
||||
|
| that is bundled with this package in the file LICENSE, and is | |
||||
|
| available through the world-wide-web at the following url: | |
||||
|
| http://www.php.net/license/3_01.txt | |
||||
|
| If you did not receive a copy of the PHP license and are unable to | |
||||
|
| obtain it through the world-wide-web, please send a note to | |
||||
|
| license@php.net so we can mail you a copy immediately. | |
||||
|
+----------------------------------------------------------------------+ |
||||
|
| Author: Andrea Faulds <ajf@ajf.me> | |
||||
|
+----------------------------------------------------------------------+ |
||||
|
*/ |
||||
|
|
||||
|
/* $Id: $ */ |
||||
|
|
||||
|
#ifndef HTTP_STATUS_CODES_H |
||||
|
#define HTTP_STATUS_CODES_H |
||||
|
|
||||
|
typedef struct _http_response_status_code_pair { |
||||
|
const int code; |
||||
|
const char *str; |
||||
|
} http_response_status_code_pair; |
||||
|
|
||||
|
static http_response_status_code_pair http_status_map[] = { |
||||
|
{ 100, "Continue" }, |
||||
|
{ 101, "Switching Protocols" }, |
||||
|
{ 200, "OK" }, |
||||
|
{ 201, "Created" }, |
||||
|
{ 202, "Accepted" }, |
||||
|
{ 203, "Non-Authoritative Information" }, |
||||
|
{ 204, "No Content" }, |
||||
|
{ 205, "Reset Content" }, |
||||
|
{ 206, "Partial Content" }, |
||||
|
{ 300, "Multiple Choices" }, |
||||
|
{ 301, "Moved Permanently" }, |
||||
|
{ 302, "Found" }, |
||||
|
{ 303, "See Other" }, |
||||
|
{ 304, "Not Modified" }, |
||||
|
{ 305, "Use Proxy" }, |
||||
|
{ 307, "Temporary Redirect" }, |
||||
|
{ 308, "Permanent Redirect" }, |
||||
|
{ 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" }, |
||||
|
{ 426, "Upgrade Required" }, |
||||
|
{ 428, "Precondition Required" }, |
||||
|
{ 429, "Too Many Requests" }, |
||||
|
{ 431, "Request Header Fields Too Large" }, |
||||
|
{ 500, "Internal Server Error" }, |
||||
|
{ 501, "Not Implemented" }, |
||||
|
{ 502, "Bad Gateway" }, |
||||
|
{ 503, "Service Unavailable" }, |
||||
|
{ 504, "Gateway Timeout" }, |
||||
|
{ 505, "HTTP Version Not Supported" }, |
||||
|
{ 511, "Network Authentication Required" }, |
||||
|
/* to allow search with while() loop */ |
||||
|
{ 0, NULL } |
||||
|
}; |
||||
|
|
||||
|
static const size_t http_status_map_len = (sizeof(http_status_map) / sizeof(http_response_status_code_pair)) - 1; |
||||
|
|
||||
|
#endif /* HTTP_STATUS_CODES_H */ |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue