[
{
"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\n301 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\n301 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"
}
]