diff options
author | Adam Harvey <aharvey@php.net> | 2014-06-12 17:54:29 -0700 |
---|---|---|
committer | Adam Harvey <aharvey@php.net> | 2014-06-12 17:54:29 -0700 |
commit | fe676748091e3329a8c8b053b7ce6fd41ae264e6 (patch) | |
tree | 656470e5b62975441ce67a0481cb43700ce5e795 /sapi/cli | |
parent | 1b9cbab9a770d084ed35ff9ae101fff2770c8f51 (diff) | |
download | php-git-fe676748091e3329a8c8b053b7ce6fd41ae264e6.tar.gz |
Add 308 and 426 to the HTTP response code map in the CLI server.
Implements FR #67429 (CLI server is missing some new HTTP response codes).
Diffstat (limited to 'sapi/cli')
-rw-r--r-- | sapi/cli/php_cli_server.c | 2 | ||||
-rw-r--r-- | sapi/cli/tests/bug67429.phpt | 49 |
2 files changed, 51 insertions, 0 deletions
diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index 3fd24ea123..2425cc0c3e 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -220,6 +220,7 @@ static php_cli_server_http_response_status_code_pair status_map[] = { { 304, "Not Modified" }, { 305, "Use Proxy" }, { 307, "Temporary Redirect" }, + { 308, "Permanent Redirect" }, { 400, "Bad Request" }, { 401, "Unauthorized" }, { 402, "Payment Required" }, @@ -238,6 +239,7 @@ static php_cli_server_http_response_status_code_pair status_map[] = { { 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" }, diff --git a/sapi/cli/tests/bug67429.phpt b/sapi/cli/tests/bug67429.phpt new file mode 100644 index 0000000000..59486dbc0e --- /dev/null +++ b/sapi/cli/tests/bug67429.phpt @@ -0,0 +1,49 @@ +--TEST-- +FR #67429 (CLI server is missing some new HTTP response codes) +--SKIPIF-- +<?php +include "skipif.inc"; +?> +--FILE-- +<?php +include "php_cli_server.inc"; + +foreach ([308, 426] as $code) { + php_cli_server_start(<<<PHP +http_response_code($code); +PHP + ); + + list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS); + $port = intval($port)?:80; + + $fp = fsockopen($host, $port, $errno, $errstr, 0.5); + if (!$fp) { + die("connect failed"); + } + + if(fwrite($fp, <<<HEADER +GET / HTTP/1.1 + + +HEADER + )) { + while (!feof($fp)) { + echo fgets($fp); + } + } + + fclose($fp); +} +?> +--EXPECTF-- +HTTP/1.1 308 Permanent Redirect +Connection: close +X-Powered-By: %s +Content-type: text/html + +HTTP/1.1 426 Upgrade Required +Connection: close +X-Powered-By: %s +Content-type: text/html + |