Commit:    1e60d0c105f065f395b5ae02608eaec9b42708f8
Author:    Xinchen Hui <larue...@php.net>         Wed, 9 May 2012 11:27:39 +0800
Parents:   7b2ab569976f63b22ba1c69e78e782a693d5076a
Branches:  PHP-5.4

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=1e60d0c105f065f395b5ae02608eaec9b42708f8

Log:
Implemented FR #61977 (Need CLI web-server support for files with .htm & svg 
extensions)

Bugs:
https://bugs.php.net/61977

Changed paths:
  M  NEWS
  M  sapi/cli/php_cli_server.c
  A  sapi/cli/tests/bug61977.phpt


Diff:
diff --git a/NEWS b/NEWS
index d989f34..cb00f7a 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,8 @@ PHP                                                             
           NEWS
 ?? ??? 2012, PHP 5.4.2
 
 - CLI Server:
+  . Implemented FR #61977 (Need CLI web-server support for files with .htm & 
+    svg extensions). (Sixd, Laruence)
   . Fixed bug #61546 (functions related to current script failed when chdir() 
     in cli sapi). (Laruence, reeze....@gmail.com)
   . Improved performance while sending error page, this also fixed
diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c
index e052aa8..87ab7b4 100644
--- a/sapi/cli/php_cli_server.c
+++ b/sapi/cli/php_cli_server.c
@@ -251,15 +251,17 @@ static php_cli_server_http_reponse_status_code_pair 
template_map[] = {
 };
 
 static php_cli_server_ext_mime_type_pair mime_type_map[] = {
+       { "html", "text/html" },
+       { "htm", "text/html" },
+       { "js", "text/javascript" },
+       { "css", "text/css" },
        { "gif", "image/gif" },
-       { "png", "image/png" },
-       { "jpe", "image/jpeg" },
        { "jpg", "image/jpeg" },
        { "jpeg", "image/jpeg" },
-       { "css", "text/css" },
-       { "html", "text/html" },
+       { "png", "image/png" },
+       { "jpe", "image/jpeg" },
+       { "svg", "image/svg+xml" },
        { "txt", "text/plain" },
-       { "js", "text/javascript" },
        { NULL, NULL }
 };
 
diff --git a/sapi/cli/tests/bug61977.phpt b/sapi/cli/tests/bug61977.phpt
new file mode 100644
index 0000000..edb7b78
--- /dev/null
+++ b/sapi/cli/tests/bug61977.phpt
@@ -0,0 +1,157 @@
+--TEST--
+Bug #60159 (Router returns false, but POST is not passed to requested resource)
+--SKIPIF--
+<?php
+include "skipif.inc"; 
+?>
+--FILE--
+<?php
+include "php_cli_server.inc";
+php_cli_server_start('<?php ?>', true);
+$doc_root = __DIR__;
+
+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");
+}
+
+file_put_contents($doc_root . '/foo.html', '');
+if(fwrite($fp, <<<HEADER
+GET /foo.html HTTP/1.1
+Host: {$host}
+
+
+HEADER
+)) {
+       while (!feof($fp)) {
+               $text = fgets($fp);
+        if (strncasecmp("Content-type:", $text, 13) == 0) {
+           echo "foo.html => ", $text;
+        }
+       }
+}
+@unlink($doc_root . '/foo.html');
+fclose($fp);
+
+
+$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
+if (!$fp) {
+  die("connect failed");
+}
+file_put_contents($doc_root . '/foo.htm', '');
+if(fwrite($fp, <<<HEADER
+GET /foo.htm HTTP/1.1
+Host: {$host}
+
+
+HEADER
+)) {
+       while (!feof($fp)) {
+               $text = fgets($fp);
+        if (strncasecmp("Content-type:", $text, 13) == 0) {
+           echo "foo.htm => ", $text;
+        }
+       }
+}
+@unlink($doc_root . '/foo.htm');
+fclose($fp);
+
+
+$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
+if (!$fp) {
+  die("connect failed");
+}
+file_put_contents($doc_root . '/foo.svg', '');
+if(fwrite($fp, <<<HEADER
+GET /foo.svg HTTP/1.1
+Host: {$host}
+
+
+HEADER
+)) {
+       while (!feof($fp)) {
+               $text = fgets($fp);
+        if (strncasecmp("Content-type:", $text, 13) == 0) {
+           echo "foo.svg => ", $text;
+        }
+       }
+}
+@unlink($doc_root . '/foo.svg');
+fclose($fp);
+
+$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
+if (!$fp) {
+  die("connect failed");
+}
+file_put_contents($doc_root . '/foo.css', '');
+if(fwrite($fp, <<<HEADER
+GET /foo.css HTTP/1.1
+Host: {$host}
+
+
+HEADER
+)) {
+       while (!feof($fp)) {
+               $text = fgets($fp);
+        if (strncasecmp("Content-type:", $text, 13) == 0) {
+           echo "foo.css => ", $text;
+        }
+       }
+}
+@unlink($doc_root . '/foo.css');
+fclose($fp);
+
+$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
+if (!$fp) {
+  die("connect failed");
+}
+file_put_contents($doc_root . '/foo.js', '');
+if(fwrite($fp, <<<HEADER
+GET /foo.js HTTP/1.1
+Host: {$host}
+
+
+HEADER
+)) {
+       while (!feof($fp)) {
+               $text = fgets($fp);
+        if (strncasecmp("Content-type:", $text, 13) == 0) {
+           echo "foo.js => ", $text;
+        }
+       }
+}
+@unlink($doc_root . '/foo.js');
+fclose($fp);
+
+$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
+if (!$fp) {
+  die("connect failed");
+}
+file_put_contents($doc_root . '/foo.png', '');
+if(fwrite($fp, <<<HEADER
+GET /foo.png HTTP/1.1
+Host: {$host}
+
+
+HEADER
+)) {
+       while (!feof($fp)) {
+               $text = fgets($fp);
+        if (strncasecmp("Content-type:", $text, 13) == 0) {
+           echo "foo.png => ", $text;
+        }
+       }
+}
+@unlink($doc_root . '/foo.png');
+fclose($fp);
+?>
+--EXPECTF--
+foo.html => Content-Type: text/html; charset=UTF-8
+foo.htm => Content-Type: text/html; charset=UTF-8
+foo.svg => Content-Type: image/svg+xml
+foo.css => Content-Type: text/css; charset=UTF-8
+foo.js => Content-Type: text/javascript; charset=UTF-8
+foo.png => Content-Type: image/png


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to