Skip to content

Commit

Permalink
Implemented FR #63242 (Default error page in PHP built-in web server …
Browse files Browse the repository at this point in the history
…uses outdated html/css)
  • Loading branch information
laruence committed Oct 10, 2012
1 parent 69a4301 commit ea441bd
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 33 deletions.
2 changes: 2 additions & 0 deletions NEWS
Expand Up @@ -5,6 +5,8 @@ PHP NEWS
?? ??? 2012, PHP 5.4.8

- CLI server:
. Implemented FR #63242 (Default error page in PHP built-in web server uses
outdated html/css). (pascal.chevrel@free.fr)
. Changed response to unknown HTTP method to 501 according to RFC.
(Niklas Lindgren).
. Support HTTP PATCH method. Patch by Niklas Lindgren, GitHub PR #190.
Expand Down
30 changes: 9 additions & 21 deletions sapi/cli/php_cli_server.c
Expand Up @@ -245,10 +245,10 @@ static php_cli_server_http_reponse_status_code_pair status_map[] = {
};

static php_cli_server_http_reponse_status_code_pair template_map[] = {
{ 400, "<h1 class=\"h\">%s</h1><p>Your browser sent a request that this server could not understand.</p>" },
{ 404, "<h1 class=\"h\">%s</h1><p>The requested resource %s was not found on this server.</p>" },
{ 500, "<h1 class=\"h\">%s</h1><p>The server is temporarily unavailable.</p>" },
{ 501, "<h1 class=\"h\">%s</h1><p>Request method not supported.</p>" }
{ 400, "<h1>%s</h1><p>Your browser sent a request that this server could not understand.</p>" },
{ 404, "<h1>%s</h1><p>The requested resource %s was not found on this server.</p>" },
{ 500, "<h1>%s</h1><p>The server is temporarily unavailable.</p>" },
{ 501, "<h1>%s</h1><p>Request method not supported.</p>" }
};

static php_cli_server_ext_mime_type_pair mime_type_map[] = {
Expand Down Expand Up @@ -279,22 +279,10 @@ ZEND_DECLARE_MODULE_GLOBALS(cli_server);
/* {{{ static char php_cli_server_css[]
* copied from ext/standard/info.c
*/
static const char php_cli_server_css[] = "<style type=\"text/css\">\n" \
"body {background-color: #ffffff; color: #000000;}\n" \
"body, td, th, h1, h2 {font-family: sans-serif;}\n" \
".center {text-align: center;}\n" \
".center table { margin-left: auto; margin-right: auto; text-align: left;}\n" \
".center th { text-align: center !important; }\n" \
"h1 {font-size: 150%;}\n" \
"h2 {font-size: 125%;}\n" \
".p {text-align: left;}\n" \
".e {background-color: #ccccff; font-weight: bold; color: #000000;}\n" \
".h {background-color: #9999cc; font-weight: bold; color: #000000;}\n" \
".v {background-color: #cccccc; color: #000000;}\n" \
".vr {background-color: #cccccc; text-align: right; color: #000000;}\n" \
"img {float: right; border: 0px;}\n" \
"hr {width: 600px; background-color: #cccccc; border: 0px; height: 1px; color: #000000;}\n" \
"</style>\n";
static const char php_cli_server_css[] = "<style>\n" \
"body { background-color: #ffffff; color: #000000; }\n" \
"h1 { font-family: sans-serif; font-size: 150%; background-color: #9999cc; font-weight: bold; color: #000000; margin-top: 0;}\n" \
"</style>\n";
/* }}} */

static void char_ptr_dtor_p(char **p) /* {{{ */
Expand Down Expand Up @@ -1757,7 +1745,7 @@ static int php_cli_server_send_error_page(php_cli_server *server, php_cli_server
escaped_request_uri = php_escape_html_entities_ex((unsigned char *)client->request.request_uri, client->request.request_uri_len, &escaped_request_uri_len, 0, ENT_QUOTES, NULL, 0 TSRMLS_CC);

{
static const char prologue_template[] = "<html><head><title>%d %s</title>";
static const char prologue_template[] = "<!doctype html><html><head><title>%d %s</title>";
php_cli_server_chunk *chunk = php_cli_server_chunk_heap_new_self_contained(strlen(prologue_template) + 3 + strlen(status_string) + 1);
if (!chunk) {
goto fail;
Expand Down
18 changes: 9 additions & 9 deletions sapi/cli/tests/php_cli_server_013.phpt
Expand Up @@ -33,7 +33,7 @@ HEADER
}
}

echo preg_replace("/<style type=\"text\/css\">(.*?)<\/style>/s", "<style type=\"text/css\">AAA</style>", $output), "\n";
echo preg_replace("/<style>(.*?)<\/style>/s", "<style>AAA</style>", $output), "\n";
fclose($fp);


Expand All @@ -55,7 +55,7 @@ HEADER
}
}

echo preg_replace("/<style type=\"text\/css\">(.*?)<\/style>/s", "<style type=\"text/css\">AAA</style>", $output), "\n";
echo preg_replace("/<style>(.*?)<\/style>/s", "<style>AAA</style>", $output), "\n";
fclose($fp);

$output = '';
Expand All @@ -76,7 +76,7 @@ HEADER
}
}

echo preg_replace("/<style type=\"text\/css\">(.*?)<\/style>/s", "<style type=\"text/css\">AAA</style>", $output), "\n";
echo preg_replace("/<style>(.*?)<\/style>/s", "<style>AAA</style>", $output), "\n";
fclose($fp);
?>
--EXPECTF--
Expand All @@ -87,22 +87,22 @@ Connection: close
Content-Type: text/html; charset=UTF-8
Content-Length: %d

<html><head><title>404 Not Found</title><style type="text/css">AAA</style>
</head><body><h1 class="h">Not Found</h1><p>The requested resource / was not found on this server.</p></body></html>
<!doctype html><html><head><title>404 Not Found</title><style>AAA</style>
</head><body><h1>Not Found</h1><p>The requested resource / was not found on this server.</p></body></html>
HTTP/1.1 404 Not Found
Host: %s
Connection: close
Content-Type: text/html; charset=UTF-8
Content-Length: %d

<html><head><title>404 Not Found</title><style type="text/css">AAA</style>
</head><body><h1 class="h">Not Found</h1><p>The requested resource /main/style.css was not found on this server.</p></body></html>
<!doctype html><html><head><title>404 Not Found</title><style>AAA</style>
</head><body><h1>Not Found</h1><p>The requested resource /main/style.css was not found on this server.</p></body></html>
HTTP/1.1 404 Not Found
Host: %s
Connection: close
Content-Type: text/html; charset=UTF-8
Content-Length: %d

<html><head><title>404 Not Found</title><style type="text/css">AAA</style>
</head><body><h1 class="h">Not Found</h1><p>The requested resource /main/foo/bar was not found on this server.</p></body></html>
<!doctype html><html><head><title>404 Not Found</title><style>AAA</style>
</head><body><h1>Not Found</h1><p>The requested resource /main/foo/bar was not found on this server.</p></body></html>

6 changes: 3 additions & 3 deletions sapi/cli/tests/php_cli_server_014.phpt
Expand Up @@ -57,7 +57,7 @@ HEADER
}
}

echo preg_replace("/<style type=\"text\/css\">(.*?)<\/style>/s", "<style type=\"text/css\">AAA</style>", $output), "\n";
echo preg_replace("/<style>(.*?)<\/style>/s", "<style>AAA</style>", $output), "\n";
fclose($fp);

?>
Expand All @@ -76,5 +76,5 @@ Connection: close
Content-Type: %s
Content-Length: %d

<html><head><title>404 Not Found</title><style type="text/css">AAA</style>
</head><body><h1 class="h">Not Found</h1><p>The requested resource /main/no-exists.php was not found on this server.</p></body></html>
<!doctype html><html><head><title>404 Not Found</title><style>AAA</style>
</head><body><h1>Not Found</h1><p>The requested resource /main/no-exists.php was not found on this server.</p></body></html>

0 comments on commit ea441bd

Please sign in to comment.