fix Content-Range messages; remove superfluous Content-Lenght:0 header
[m6w6/ext-http] / tests / message001.phpt
index 7b6b534d8e5d59f89633f8393059639a56abb0e1..0214dfa4654578898901e7cf9d6fa31af4b3e50e 100644 (file)
@@ -1,5 +1,5 @@
 --TEST--
-Message
+message
 --SKIPIF--
 <?php
 include "skipif.inc";
@@ -43,6 +43,8 @@ var_dump(
        $m->getHeaders()
 );
 
+echo "---\n";
+
 $m = new HttpMessage(file_get_contents(__DIR__."/data/message_rr_empty.txt"));
 echo $m;
 var_dump(
@@ -87,10 +89,56 @@ var_dump(
 );
 echo $m->getParentMessage();
 
+echo "---\n";
+
+$m = new HttpMessage(fopen(__DIR__."/data/message_rr_empty.txt", "r+b"));
+echo $m;
+var_dump(
+       $m->getHttpVersion(),
+       $m->getType()==HttpMessage::TYPE_RESPONSE,
+       $m->getResponseCode(),
+       $m->getResponseStatus(),
+       $m->getHeaders()
+);
+echo $m->getParentMessage();
+
+$m = new HttpMessage(fopen(__DIR__."/data/message_rr_empty_gzip.txt", "r+b"));
+echo $m;
+var_dump(
+       $m->getHttpVersion(),
+       $m->getType()==HttpMessage::TYPE_RESPONSE,
+       $m->getResponseCode(),
+       $m->getResponseStatus(),
+       $m->getHeaders()
+);
+echo $m->getParentMessage();
+
+$m = new HttpMessage(fopen(__DIR__."/data/message_rr_empty_chunked.txt", "r+b"));
+echo $m;
+var_dump(
+       $m->getHttpVersion(),
+       $m->getType()==HttpMessage::TYPE_RESPONSE,
+       $m->getResponseCode(),
+       $m->getResponseStatus(),
+       $m->getHeaders()
+);
+echo $m->getParentMessage();
+
+$m = new HttpMessage(fopen(__DIR__."/data/message_rr_helloworld_chunked.txt", "r+b"));
+echo $m;
+var_dump(
+       $m->getHttpVersion(),
+       $m->getType()==HttpMessage::TYPE_RESPONSE,
+       $m->getResponseCode(),
+       $m->getResponseStatus(),
+       $m->getHeaders()
+);
+echo $m->getParentMessage();
+
 echo "Done\n";
 --EXPECTF--
 Test
-string(3) "0.0"
+string(3) "1.1"
 bool(true)
 array(0) {
 }
@@ -108,6 +156,7 @@ int(200)
 string(7) "Okidoki"
 array(0) {
 }
+---
 HTTP/1.1 200 OK
 Date: Wed, 25 Aug 2010 12:11:44 GMT
 Server: Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/1.0.0a mod_fastcgi/2.4.6
@@ -135,7 +184,7 @@ array(10) {
   ["Accept-Ranges"]=>
   string(5) "bytes"
   ["Content-Length"]=>
-  int(0)
+  string(1) "0"
   ["Vary"]=>
   string(15) "Accept-Encoding"
   ["Connection"]=>
@@ -148,7 +197,6 @@ array(10) {
 GET /default/empty.txt HTTP/1.1
 Host: localhost
 Connection: close
-Content-Length: 0
 HTTP/1.1 200 OK
 Date: Thu, 26 Aug 2010 09:55:09 GMT
 Server: Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/1.0.0a mod_fastcgi/2.4.6
@@ -156,7 +204,6 @@ Last-Modified: Wed, 28 Apr 2010 10:54:37 GMT
 Etag: "2002a-0-48549d615a35c"
 Accept-Ranges: bytes
 Vary: Accept-Encoding
-Content-Length: 0
 Connection: close
 Content-Type: text/plain
 X-Original-Content-Length: 20
@@ -165,7 +212,7 @@ string(3) "1.1"
 bool(true)
 int(200)
 string(2) "OK"
-array(11) {
+array(10) {
   ["Date"]=>
   string(29) "Thu, 26 Aug 2010 09:55:09 GMT"
   ["Server"]=>
@@ -178,8 +225,155 @@ array(11) {
   string(5) "bytes"
   ["Vary"]=>
   string(15) "Accept-Encoding"
+  ["Connection"]=>
+  string(5) "close"
+  ["Content-Type"]=>
+  string(10) "text/plain"
+  ["X-Original-Content-Length"]=>
+  string(2) "20"
+  ["X-Original-Content-Encoding"]=>
+  string(4) "gzip"
+}
+GET /default/empty.txt HTTP/1.1
+Host: localhost
+Accept-Encoding: gzip
+Connection: close
+HTTP/1.1 200 OK
+Date: Thu, 26 Aug 2010 11:41:02 GMT
+Server: Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/1.0.0a mod_fastcgi/2.4.6
+X-Powered-By: PHP/5.3.3
+Vary: Accept-Encoding
+Connection: close
+Content-Type: text/html
+X-Original-Transfer-Encoding: chunked
+Content-Length: 0
+string(3) "1.1"
+bool(true)
+int(200)
+string(2) "OK"
+array(8) {
+  ["Date"]=>
+  string(29) "Thu, 26 Aug 2010 11:41:02 GMT"
+  ["Server"]=>
+  string(68) "Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/1.0.0a mod_fastcgi/2.4.6"
+  ["X-Powered-By"]=>
+  string(9) "PHP/5.3.3"
+  ["Vary"]=>
+  string(15) "Accept-Encoding"
+  ["Connection"]=>
+  string(5) "close"
+  ["Content-Type"]=>
+  string(9) "text/html"
+  ["X-Original-Transfer-Encoding"]=>
+  string(7) "chunked"
   ["Content-Length"]=>
   int(0)
+}
+GET /default/empty.php HTTP/1.1
+Connection: close
+Host: localhost
+HTTP/1.1 200 OK
+Date: Thu, 26 Aug 2010 12:51:28 GMT
+Server: Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/1.0.0a mod_fastcgi/2.4.6
+Vary: Accept-Encoding
+Connection: close
+Content-Type: text/plain
+X-Original-Transfer-Encoding: chunked
+Content-Length: 14
+
+Hello, World!
+string(3) "1.1"
+bool(true)
+int(200)
+string(2) "OK"
+array(7) {
+  ["Date"]=>
+  string(29) "Thu, 26 Aug 2010 12:51:28 GMT"
+  ["Server"]=>
+  string(68) "Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/1.0.0a mod_fastcgi/2.4.6"
+  ["Vary"]=>
+  string(15) "Accept-Encoding"
+  ["Connection"]=>
+  string(5) "close"
+  ["Content-Type"]=>
+  string(10) "text/plain"
+  ["X-Original-Transfer-Encoding"]=>
+  string(7) "chunked"
+  ["Content-Length"]=>
+  int(14)
+}
+GET /cgi-bin/chunked.sh HTTP/1.1
+Host: localhost
+Connection: close
+---
+HTTP/1.1 200 OK
+Date: Wed, 25 Aug 2010 12:11:44 GMT
+Server: Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/1.0.0a mod_fastcgi/2.4.6
+Last-Modified: Wed, 28 Apr 2010 10:54:37 GMT
+Etag: "2002a-0-48549d615a35c"
+Accept-Ranges: bytes
+Content-Length: 0
+Vary: Accept-Encoding
+Connection: close
+Content-Type: text/plain
+X-Original-Content-Length: 0
+string(3) "1.1"
+bool(true)
+int(200)
+string(2) "OK"
+array(10) {
+  ["Date"]=>
+  string(29) "Wed, 25 Aug 2010 12:11:44 GMT"
+  ["Server"]=>
+  string(68) "Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/1.0.0a mod_fastcgi/2.4.6"
+  ["Last-Modified"]=>
+  string(29) "Wed, 28 Apr 2010 10:54:37 GMT"
+  ["Etag"]=>
+  string(23) ""2002a-0-48549d615a35c""
+  ["Accept-Ranges"]=>
+  string(5) "bytes"
+  ["Content-Length"]=>
+  string(1) "0"
+  ["Vary"]=>
+  string(15) "Accept-Encoding"
+  ["Connection"]=>
+  string(5) "close"
+  ["Content-Type"]=>
+  string(10) "text/plain"
+  ["X-Original-Content-Length"]=>
+  string(1) "0"
+}
+GET /default/empty.txt HTTP/1.1
+Host: localhost
+Connection: close
+HTTP/1.1 200 OK
+Date: Thu, 26 Aug 2010 09:55:09 GMT
+Server: Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/1.0.0a mod_fastcgi/2.4.6
+Last-Modified: Wed, 28 Apr 2010 10:54:37 GMT
+Etag: "2002a-0-48549d615a35c"
+Accept-Ranges: bytes
+Vary: Accept-Encoding
+Connection: close
+Content-Type: text/plain
+X-Original-Content-Length: 20
+X-Original-Content-Encoding: gzip
+string(3) "1.1"
+bool(true)
+int(200)
+string(2) "OK"
+array(10) {
+  ["Date"]=>
+  string(29) "Thu, 26 Aug 2010 09:55:09 GMT"
+  ["Server"]=>
+  string(68) "Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/1.0.0a mod_fastcgi/2.4.6"
+  ["Last-Modified"]=>
+  string(29) "Wed, 28 Apr 2010 10:54:37 GMT"
+  ["Etag"]=>
+  string(23) ""2002a-0-48549d615a35c""
+  ["Accept-Ranges"]=>
+  string(5) "bytes"
+  ["Vary"]=>
+  string(15) "Accept-Encoding"
   ["Connection"]=>
   string(5) "close"
   ["Content-Type"]=>
@@ -193,7 +387,6 @@ GET /default/empty.txt HTTP/1.1
 Host: localhost
 Accept-Encoding: gzip
 Connection: close
-Content-Length: 0
 HTTP/1.1 200 OK
 Date: Thu, 26 Aug 2010 11:41:02 GMT
 Server: Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/1.0.0a mod_fastcgi/2.4.6
@@ -228,7 +421,6 @@ array(8) {
 GET /default/empty.php HTTP/1.1
 Connection: close
 Host: localhost
-Content-Length: 0
 HTTP/1.1 200 OK
 Date: Thu, 26 Aug 2010 12:51:28 GMT
 Server: Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/1.0.0a mod_fastcgi/2.4.6
@@ -239,7 +431,6 @@ X-Original-Transfer-Encoding: chunked
 Content-Length: 14
 
 Hello, World!
-
 string(3) "1.1"
 bool(true)
 int(200)
@@ -263,5 +454,4 @@ array(7) {
 GET /cgi-bin/chunked.sh HTTP/1.1
 Host: localhost
 Connection: close
-Content-Length: 0
 Done