mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Fix #64878: 304 responses return Content-Type header
According to RFC 7232 304 responses should not send a Content-Type header, so the CLI server should comply.
This commit is contained in:
parent
6400ef192c
commit
1920ba6f7b
2 changed files with 22 additions and 0 deletions
|
@ -2185,6 +2185,9 @@ static int php_cli_server_dispatch(php_cli_server *server, php_cli_server_client
|
||||||
if (!is_static_file) {
|
if (!is_static_file) {
|
||||||
if (SUCCESS == php_cli_server_dispatch_script(server, client TSRMLS_CC)
|
if (SUCCESS == php_cli_server_dispatch_script(server, client TSRMLS_CC)
|
||||||
|| SUCCESS != php_cli_server_send_error_page(server, client, 500 TSRMLS_CC)) {
|
|| SUCCESS != php_cli_server_send_error_page(server, client, 500 TSRMLS_CC)) {
|
||||||
|
if (SG(sapi_headers).http_response_code == 304) {
|
||||||
|
SG(sapi_headers).send_default_content_type = 0;
|
||||||
|
}
|
||||||
php_cli_server_request_shutdown(server, client TSRMLS_CC);
|
php_cli_server_request_shutdown(server, client TSRMLS_CC);
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
19
sapi/cli/tests/bug64878.phpt
Normal file
19
sapi/cli/tests/bug64878.phpt
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
--TEST--
|
||||||
|
Bug #64878 (304 responses return Content-Type header)
|
||||||
|
--INI--
|
||||||
|
allow_url_fopen=1
|
||||||
|
--SKIPIF--
|
||||||
|
<?php
|
||||||
|
include "skipif.inc";
|
||||||
|
?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
include "php_cli_server.inc";
|
||||||
|
php_cli_server_start('header("HTTP/1.1 304 Not Modified")', null);
|
||||||
|
$headers = get_headers('http://' . PHP_CLI_SERVER_ADDRESS);
|
||||||
|
echo count(array_filter($headers, function ($value) {
|
||||||
|
return stripos($value, 'Content-Type') === 0;
|
||||||
|
}));
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
0
|
Loading…
Add table
Add a link
Reference in a new issue