[ { "name": "google 301", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 301 Moved Permanently\r\nLocation: http://www.google.com/\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Sun, 26 Apr 2009 11:11:49 GMT\r\nExpires: Tue, 26 May 2009 11:11:49 GMT\r\nX-$PrototypeBI-Version: 1.6.0.3\r\nCache-Control: public, max-age=2592000\r\nServer: gws\r\nContent-Length: 219 \r\n\r\n\n301 Moved\n

301 Moved

\nThe document has moved\nhere.\r\n\r\n", "should_keep_alive": true, "message_complete_on_eof": false, "http_major": 1, "http_minor": 1, "status_code": 301, "num_headers": 8, "headers": { "Location": "http://www.google.com/", "Content-Type": "text/html; charset=UTF-8", "Date": "Sun, 26 Apr 2009 11:11:49 GMT", "Expires": "Tue, 26 May 2009 11:11:49 GMT", "X-$PrototypeBI-Version": "1.6.0.3", "Cache-Control": "public, max-age=2592000", "Server": "gws", "Content-Length": "219 " }, "body": "\n301 Moved\n

301 Moved

\nThe document has moved\nhere.\r\n\r\n", "strict": true }, { "name": "no content-length response", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 200 OK\r\nDate: Tue, 04 Aug 2009 07:59:32 GMT\r\nServer: Apache\r\nX-Powered-By: Servlet/2.5 JSP/2.1\r\nContent-Type: text/xml; charset=utf-8\r\nConnection: close\r\n\r\n\n\n \n \n SOAP-ENV:Client\n Client Error\n \n \n", "should_keep_alive": false, "message_complete_on_eof": true, "http_major": 1, "http_minor": 1, "status_code": 200, "num_headers": 5, "headers": { "Date": "Tue, 04 Aug 2009 07:59:32 GMT", "Server": "Apache", "X-Powered-By": "Servlet/2.5 JSP/2.1", "Content-Type": "text/xml; charset=utf-8", "Connection": "close" }, "body": "\n\n \n \n SOAP-ENV:Client\n Client Error\n \n \n", "strict": true }, { "name": "404 no headers no body", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 404 Not Found\r\n\r\n", "should_keep_alive": false, "message_complete_on_eof": true, "http_major": 1, "http_minor": 1, "status_code": 404, "num_headers": 0, "headers": { }, "body_size": 0, "body": "", "strict": true }, { "name": "301 no response phrase", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 301\r\n\r\n", "should_keep_alive": false, "message_complete_on_eof": true, "http_major": 1, "http_minor": 1, "status_code": 301, "num_headers": 0, "headers": { }, "body": "", "strict": true }, { "name": "200 trailing space on chunked body", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nTransfer-Encoding: chunked\r\n\r\n25 \r\nThis is the data in the first chunk\r\n\r\n1C\r\nand this is the second one\r\n\r\n0 \r\n\r\n", "should_keep_alive": true, "message_complete_on_eof": false, "http_major": 1, "http_minor": 1, "status_code": 200, "num_headers": 2, "headers": { "Content-Type": "text/plain", "Transfer-Encoding": "chunked" }, "body_size": 65, "body": "This is the data in the first chunk\r\nand this is the second one\r\n", "strict": true }, { "name": "no carriage ret", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 200 OK\nContent-Type: text/html; charset=utf-8\nConnection: close\n\nthese headers are from http://news.ycombinator.com/", "should_keep_alive": false, "message_complete_on_eof": true, "http_major": 1, "http_minor": 1, "status_code": 200, "num_headers": 2, "headers": { "Content-Type": "text/html; charset=utf-8", "Connection": "close" }, "body": "these headers are from http://news.ycombinator.com/", "strict": true }, { "name": "proxy connection", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=UTF-8\r\nContent-Length: 11\r\nProxy-Connection: close\r\nDate: Thu, 31 Dec 2009 20:55:48 +0000\r\n\r\nhello world", "should_keep_alive": false, "message_complete_on_eof": false, "http_major": 1, "http_minor": 1, "status_code": 200, "num_headers": 4, "headers": { "Content-Type": "text/html; charset=UTF-8", "Content-Length": "11", "Proxy-Connection": "close", "Date": "Thu, 31 Dec 2009 20:55:48 +0000" }, "body": "hello world", "strict": true }, { "name": "underscore header key", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 200 OK\r\nServer: DCLK-AdSvr\r\nContent-Type: text/xml\r\nContent-Length: 0\r\nDCLK_imp: v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o\r\n\r\n", "should_keep_alive": true, "message_complete_on_eof": false, "http_major": 1, "http_minor": 1, "status_code": 200, "num_headers": 4, "headers": { "Server": "DCLK-AdSvr", "Content-Type": "text/xml", "Content-Length": "0", "DCLK_imp": "v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o" }, "body": "", "strict": true }, { "name": "bonjourmadame.fr", "type": "HTTP_RESPONSE", "raw": "HTTP/1.0 301 Moved Permanently\r\nDate: Thu, 03 Jun 2010 09:56:32 GMT\r\nServer: Apache/2.2.3 (Red Hat)\r\nCache-Control: public\r\nPragma: \r\nLocation: http://www.bonjourmadame.fr/\r\nVary: Accept-Encoding\r\nContent-Length: 0\r\nContent-Type: text/html; charset=UTF-8\r\nConnection: keep-alive\r\n\r\n", "should_keep_alive": true, "message_complete_on_eof": false, "http_major": 1, "http_minor": 0, "status_code": 301, "num_headers": 9, "headers": { "Date": "Thu, 03 Jun 2010 09:56:32 GMT", "Server": "Apache/2.2.3 (Red Hat)", "Cache-Control": "public", "Pragma": "", "Location": "http://www.bonjourmadame.fr/", "Vary": "Accept-Encoding", "Content-Length": "0", "Content-Type": "text/html; charset=UTF-8", "Connection": "keep-alive" }, "body": "", "strict": true }, { "name": "field underscore", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 200 OK\r\nDate: Tue, 28 Sep 2010 01:14:13 GMT\r\nServer: Apache\r\nCache-Control: no-cache, must-revalidate\r\nExpires: Mon, 26 Jul 1997 05:00:00 GMT\r\n.et-Cookie: PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com\r\nVary: Accept-Encoding\r\n_eep-Alive: timeout=45\r\n_onnection: Keep-Alive\r\nTransfer-Encoding: chunked\r\nContent-Type: text/html\r\nConnection: close\r\n\r\n0\r\n\r\n", "should_keep_alive": false, "message_complete_on_eof": false, "http_major": 1, "http_minor": 1, "status_code": 200, "num_headers": 11, "headers": { "Date": "Tue, 28 Sep 2010 01:14:13 GMT", "Server": "Apache", "Cache-Control": "no-cache, must-revalidate", "Expires": "Mon, 26 Jul 1997 05:00:00 GMT", ".et-Cookie": "PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com", "Vary": "Accept-Encoding", "_eep-Alive": "timeout=45", "_onnection": "Keep-Alive", "Transfer-Encoding": "chunked", "Content-Type": "text/html", "Connection": "close" }, "body": "", "strict": true }, { "name": "non-ASCII in status line", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 500 Oriƫntatieprobleem\r\nDate: Fri, 5 Nov 2010 23:07:12 GMT+2\r\nContent-Length: 0\r\nConnection: close\r\n\r\n", "should_keep_alive": false, "message_complete_on_eof": false, "http_major": 1, "http_minor": 1, "status_code": 500, "num_headers": 3, "headers": { "Date": "Fri, 5 Nov 2010 23:07:12 GMT+2", "Content-Length": "0", "Connection": "close" }, "body": "", "strict": true }, { "name": "http version 0.9", "type": "HTTP_RESPONSE", "raw": "HTTP/0.9 200 OK\r\n\r\n", "should_keep_alive": false, "message_complete_on_eof": true, "http_major": 0, "http_minor": 9, "status_code": 200, "num_headers": 0, "headers": { }, "body": "", "strict": true }, { "name": "neither content-length nor transfer-encoding response", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\nhello world", "should_keep_alive": false, "message_complete_on_eof": true, "http_major": 1, "http_minor": 1, "status_code": 200, "num_headers": 1, "headers": { "Content-Type": "text/plain" }, "body": "hello world", "strict": true }, { "name": "HTTP/1.0 with keep-alive and EOF-terminated 200 status", "type": "HTTP_RESPONSE", "raw": "HTTP/1.0 200 OK\r\nConnection: keep-alive\r\n\r\n", "should_keep_alive": false, "message_complete_on_eof": true, "http_major": 1, "http_minor": 0, "status_code": 200, "num_headers": 1, "headers": { "Connection": "keep-alive" }, "body_size": 0, "body": "", "strict": true }, { "name": "HTTP/1.0 with keep-alive and a 204 status", "type": "HTTP_RESPONSE", "raw": "HTTP/1.0 204 No content\r\nConnection: keep-alive\r\n\r\n", "should_keep_alive": true, "message_complete_on_eof": false, "http_major": 1, "http_minor": 0, "status_code": 204, "num_headers": 1, "headers": { "Connection": "keep-alive" }, "body_size": 0, "body": "", "strict": true }, { "name": "HTTP/1.1 with an EOF-terminated 200 status", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 200 OK\r\n\r\n", "should_keep_alive": false, "message_complete_on_eof": true, "http_major": 1, "http_minor": 1, "status_code": 200, "num_headers": 0, "headers": { }, "body_size": 0, "body": "", "strict": true }, { "name": "HTTP/1.1 with a 204 status", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 204 No content\r\n\r\n", "should_keep_alive": true, "message_complete_on_eof": false, "http_major": 1, "http_minor": 1, "status_code": 204, "num_headers": 0, "headers": { }, "body_size": 0, "body": "", "strict": true }, { "name": "HTTP/1.1 with a 204 status and keep-alive disabled", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 204 No content\r\nConnection: close\r\n\r\n", "should_keep_alive": false, "message_complete_on_eof": false, "http_major": 1, "http_minor": 1, "status_code": 204, "num_headers": 1, "headers": { "Connection": "close" }, "body_size": 0, "body": "", "strict": true }, { "name": "HTTP/1.1 with chunked endocing and a 200 response", "type": "HTTP_RESPONSE", "raw": "HTTP/1.1 200 OK\r\nTransfer-Encoding: chunked\r\n\r\n0\r\n\r\n", "should_keep_alive": true, "message_complete_on_eof": false, "http_major": 1, "http_minor": 1, "status_code": 200, "num_headers": 1, "headers": { "Transfer-Encoding": "chunked" }, "body_size": 0, "body": "", "strict": true }, { "name": "field space", "type": "HTTP_RESPONSE", "strict": false, "raw": "HTTP/1.1 200 OK\r\nServer: Microsoft-IIS/6.0\r\nX-Powered-By: ASP.NET\r\nen-US Content-Type: text/xml\r\nContent-Type: text/xml\r\nContent-Length: 16\r\nDate: Fri, 23 Jul 2010 18:45:38 GMT\r\nConnection: keep-alive\r\n\r\nhello", "should_keep_alive": true, "message_complete_on_eof": false, "http_major": 1, "http_minor": 1, "status_code": 200, "num_headers": 7, "headers": { "Server": "Microsoft-IIS/6.0", "X-Powered-By": "ASP.NET", "en-US Content-Type": "text/xml", "Content-Type": "text/xml", "Content-Length": "16", "Date": "Fri, 23 Jul 2010 18:45:38 GMT", "Connection": "keep-alive" }, "body": "hello" } ]