twitter-status-bot/.gems/gems/http_parser.rb-0.6.0/spec/support/requests.json

612 lines
17 KiB
JSON

[
{
"name": "curl get",
"type": "HTTP_REQUEST",
"raw": "GET /test HTTP/1.1\r\nUser-Agent: curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1\r\nHost: 0.0.0.0=5000\r\nAccept: */*\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "",
"fragment": "",
"request_path": "/test",
"request_url": "/test",
"num_headers": 3,
"headers": {
"User-Agent": "curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1",
"Host": "0.0.0.0=5000",
"Accept": "*/*"
},
"body": "",
"strict": true
},
{
"name": "firefox get",
"type": "HTTP_REQUEST",
"raw": "GET /favicon.ico HTTP/1.1\r\nHost: 0.0.0.0=5000\r\nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-us,en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\nKeep-Alive: 300\r\nConnection: keep-alive\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "",
"fragment": "",
"request_path": "/favicon.ico",
"request_url": "/favicon.ico",
"num_headers": 8,
"headers": {
"Host": "0.0.0.0=5000",
"User-Agent": "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language": "en-us,en;q=0.5",
"Accept-Encoding": "gzip,deflate",
"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7",
"Keep-Alive": "300",
"Connection": "keep-alive"
},
"body": "",
"strict": true
},
{
"name": "dumbfuck",
"type": "HTTP_REQUEST",
"raw": "GET /dumbfuck HTTP/1.1\r\naaaaaaaaaaaaa:++++++++++\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "",
"fragment": "",
"request_path": "/dumbfuck",
"request_url": "/dumbfuck",
"num_headers": 1,
"headers": {
"aaaaaaaaaaaaa": "++++++++++"
},
"body": "",
"strict": true
},
{
"name": "fragment in url",
"type": "HTTP_REQUEST",
"raw": "GET /forums/1/topics/2375?page=1#posts-17408 HTTP/1.1\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "page=1",
"fragment": "posts-17408",
"request_path": "/forums/1/topics/2375",
"request_url": "/forums/1/topics/2375?page=1#posts-17408",
"num_headers": 0,
"body": "",
"strict": true
},
{
"name": "get no headers no body",
"type": "HTTP_REQUEST",
"raw": "GET /get_no_headers_no_body/world HTTP/1.1\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "",
"fragment": "",
"request_path": "/get_no_headers_no_body/world",
"request_url": "/get_no_headers_no_body/world",
"num_headers": 0,
"body": "",
"strict": true
},
{
"name": "get one header no body",
"type": "HTTP_REQUEST",
"raw": "GET /get_one_header_no_body HTTP/1.1\r\nAccept: */*\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "",
"fragment": "",
"request_path": "/get_one_header_no_body",
"request_url": "/get_one_header_no_body",
"num_headers": 1,
"headers": {
"Accept": "*/*"
},
"body": "",
"strict": true
},
{
"name": "get funky content length body hello",
"type": "HTTP_REQUEST",
"raw": "GET /get_funky_content_length_body_hello HTTP/1.0\r\nconTENT-Length: 5\r\n\r\nHELLO",
"should_keep_alive": false,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 0,
"method": "GET",
"query_string": "",
"fragment": "",
"request_path": "/get_funky_content_length_body_hello",
"request_url": "/get_funky_content_length_body_hello",
"num_headers": 1,
"headers": {
"conTENT-Length": "5"
},
"body": "HELLO",
"strict": true
},
{
"name": "post identity body world",
"type": "HTTP_REQUEST",
"raw": "POST /post_identity_body_world?q=search#hey HTTP/1.1\r\nAccept: */*\r\nTransfer-Encoding: identity\r\nContent-Length: 5\r\n\r\nWorld",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "POST",
"query_string": "q=search",
"fragment": "hey",
"request_path": "/post_identity_body_world",
"request_url": "/post_identity_body_world?q=search#hey",
"num_headers": 3,
"headers": {
"Accept": "*/*",
"Transfer-Encoding": "identity",
"Content-Length": "5"
},
"body": "World",
"strict": true
},
{
"name": "post - chunked body: all your base are belong to us",
"type": "HTTP_REQUEST",
"raw": "POST /post_chunked_all_your_base HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n1e\r\nall your base are belong to us\r\n0\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "POST",
"query_string": "",
"fragment": "",
"request_path": "/post_chunked_all_your_base",
"request_url": "/post_chunked_all_your_base",
"num_headers": 1,
"headers": {
"Transfer-Encoding": "chunked"
},
"body": "all your base are belong to us",
"strict": true
},
{
"name": "two chunks ; triple zero ending",
"type": "HTTP_REQUEST",
"raw": "POST /two_chunks_mult_zero_end HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n5\r\nhello\r\n6\r\n world\r\n000\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "POST",
"query_string": "",
"fragment": "",
"request_path": "/two_chunks_mult_zero_end",
"request_url": "/two_chunks_mult_zero_end",
"num_headers": 1,
"headers": {
"Transfer-Encoding": "chunked"
},
"body": "hello world",
"strict": true
},
{
"name": "chunked with trailing headers. blech.",
"type": "HTTP_REQUEST",
"raw": "POST /chunked_w_trailing_headers HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n5\r\nhello\r\n6\r\n world\r\n0\r\nVary: *\r\nContent-Type: text/plain\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "POST",
"query_string": "",
"fragment": "",
"request_path": "/chunked_w_trailing_headers",
"request_url": "/chunked_w_trailing_headers",
"num_headers": 3,
"headers": {
"Transfer-Encoding": "chunked",
"Vary": "*",
"Content-Type": "text/plain"
},
"body": "hello world",
"strict": true
},
{
"name": "with bullshit after the length",
"type": "HTTP_REQUEST",
"raw": "POST /chunked_w_bullshit_after_length HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n5; ihatew3;whatthefuck=aretheseparametersfor\r\nhello\r\n6; blahblah; blah\r\n world\r\n0\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "POST",
"query_string": "",
"fragment": "",
"request_path": "/chunked_w_bullshit_after_length",
"request_url": "/chunked_w_bullshit_after_length",
"num_headers": 1,
"headers": {
"Transfer-Encoding": "chunked"
},
"body": "hello world",
"strict": true
},
{
"name": "with quotes",
"type": "HTTP_REQUEST",
"raw": "GET /with_\"stupid\"_quotes?foo=\"bar\" HTTP/1.1\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "foo=\"bar\"",
"fragment": "",
"request_path": "/with_\"stupid\"_quotes",
"request_url": "/with_\"stupid\"_quotes?foo=\"bar\"",
"num_headers": 0,
"headers": {
},
"body": "",
"strict": true
},
{
"name": "apachebench get",
"type": "HTTP_REQUEST",
"raw": "GET /test HTTP/1.0\r\nHost: 0.0.0.0:5000\r\nUser-Agent: ApacheBench/2.3\r\nAccept: */*\r\n\r\n",
"should_keep_alive": false,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 0,
"method": "GET",
"query_string": "",
"fragment": "",
"request_path": "/test",
"request_url": "/test",
"num_headers": 3,
"headers": {
"Host": "0.0.0.0:5000",
"User-Agent": "ApacheBench/2.3",
"Accept": "*/*"
},
"body": "",
"strict": true
},
{
"name": "query url with question mark",
"type": "HTTP_REQUEST",
"raw": "GET /test.cgi?foo=bar?baz HTTP/1.1\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "foo=bar?baz",
"fragment": "",
"request_path": "/test.cgi",
"request_url": "/test.cgi?foo=bar?baz",
"num_headers": 0,
"headers": {
},
"body": "",
"strict": true
},
{
"name": "newline prefix get",
"type": "HTTP_REQUEST",
"raw": "\r\nGET /test HTTP/1.1\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "",
"fragment": "",
"request_path": "/test",
"request_url": "/test",
"num_headers": 0,
"headers": {
},
"body": "",
"strict": true
},
{
"name": "upgrade request",
"type": "HTTP_REQUEST",
"raw": "GET /demo HTTP/1.1\r\nHost: example.com\r\nConnection: Upgrade\r\nSec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\nSec-WebSocket-Protocol: sample\r\nUpgrade: WebSocket\r\nSec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\nOrigin: http://example.com\r\n\r\nHot diggity dogg",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "",
"fragment": "",
"request_path": "/demo",
"request_url": "/demo",
"num_headers": 7,
"upgrade": "Hot diggity dogg",
"headers": {
"Host": "example.com",
"Connection": "Upgrade",
"Sec-WebSocket-Key2": "12998 5 Y3 1 .P00",
"Sec-WebSocket-Protocol": "sample",
"Upgrade": "WebSocket",
"Sec-WebSocket-Key1": "4 @1 46546xW%0l 1 5",
"Origin": "http://example.com"
},
"body": "",
"strict": true
},
{
"name": "connect request",
"type": "HTTP_REQUEST",
"raw": "CONNECT 0-home0.netscape.com:443 HTTP/1.0\r\nUser-agent: Mozilla/1.1N\r\nProxy-authorization: basic aGVsbG86d29ybGQ=\r\n\r\nsome data\r\nand yet even more data",
"should_keep_alive": false,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 0,
"method": "CONNECT",
"query_string": "",
"fragment": "",
"request_path": "",
"request_url": "0-home0.netscape.com:443",
"num_headers": 2,
"upgrade": "some data\r\nand yet even more data",
"headers": {
"User-agent": "Mozilla/1.1N",
"Proxy-authorization": "basic aGVsbG86d29ybGQ="
},
"body": "",
"strict": true
},
{
"name": "report request",
"type": "HTTP_REQUEST",
"raw": "REPORT /test HTTP/1.1\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "REPORT",
"query_string": "",
"fragment": "",
"request_path": "/test",
"request_url": "/test",
"num_headers": 0,
"headers": {
},
"body": "",
"strict": true
},
{
"name": "request with no http version",
"type": "HTTP_REQUEST",
"raw": "GET /\r\n\r\n",
"should_keep_alive": false,
"message_complete_on_eof": false,
"http_major": 0,
"http_minor": 9,
"method": "GET",
"query_string": "",
"fragment": "",
"request_path": "/",
"request_url": "/",
"num_headers": 0,
"headers": {
},
"body": "",
"strict": true
},
{
"name": "m-search request",
"type": "HTTP_REQUEST",
"raw": "M-SEARCH * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nMAN: \"ssdp:discover\"\r\nST: \"ssdp:all\"\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "M-SEARCH",
"query_string": "",
"fragment": "",
"request_path": "*",
"request_url": "*",
"num_headers": 3,
"headers": {
"HOST": "239.255.255.250:1900",
"MAN": "\"ssdp:discover\"",
"ST": "\"ssdp:all\""
},
"body": "",
"strict": true
},
{
"name": "line folding in header value",
"type": "HTTP_REQUEST",
"raw": "GET / HTTP/1.1\r\nLine1: abc\r\n\tdef\r\n ghi\r\n\t\tjkl\r\n mno \r\n\t \tqrs\r\nLine2: \t line2\t\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "",
"fragment": "",
"request_path": "/",
"request_url": "/",
"num_headers": 2,
"headers": {
"Line1": "abcdefghijklmno qrs",
"Line2": "line2\t"
},
"body": "",
"strict": true
},
{
"name": "host terminated by a query string",
"type": "HTTP_REQUEST",
"raw": "GET http://hypnotoad.org?hail=all HTTP/1.1\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "hail=all",
"fragment": "",
"request_path": "",
"request_url": "http://hypnotoad.org?hail=all",
"num_headers": 0,
"headers": {
},
"body": "",
"strict": true
},
{
"name": "host:port terminated by a query string",
"type": "HTTP_REQUEST",
"raw": "GET http://hypnotoad.org:1234?hail=all HTTP/1.1\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "hail=all",
"fragment": "",
"request_path": "",
"request_url": "http://hypnotoad.org:1234?hail=all",
"port": 1234,
"num_headers": 0,
"headers": {
},
"body": "",
"strict": true
},
{
"name": "host:port terminated by a space",
"type": "HTTP_REQUEST",
"raw": "GET http://hypnotoad.org:1234 HTTP/1.1\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "",
"fragment": "",
"request_path": "",
"request_url": "http://hypnotoad.org:1234",
"port": 1234,
"num_headers": 0,
"headers": {
},
"body": "",
"strict": true
},
{
"name": "PATCH request",
"type": "HTTP_REQUEST",
"raw": "PATCH /file.txt HTTP/1.1\r\nHost: www.example.com\r\nContent-Type: application/example\r\nIf-Match: \"e0023aa4e\"\r\nContent-Length: 10\r\n\r\ncccccccccc",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "PATCH",
"query_string": "",
"fragment": "",
"request_path": "/file.txt",
"request_url": "/file.txt",
"num_headers": 4,
"headers": {
"Host": "www.example.com",
"Content-Type": "application/example",
"If-Match": "\"e0023aa4e\"",
"Content-Length": "10"
},
"body": "cccccccccc",
"strict": true
},
{
"name": "connect caps request",
"type": "HTTP_REQUEST",
"raw": "CONNECT HOME0.NETSCAPE.COM:443 HTTP/1.0\r\nUser-agent: Mozilla/1.1N\r\nProxy-authorization: basic aGVsbG86d29ybGQ=\r\n\r\n",
"should_keep_alive": false,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 0,
"method": "CONNECT",
"query_string": "",
"fragment": "",
"request_path": "",
"request_url": "HOME0.NETSCAPE.COM:443",
"num_headers": 2,
"upgrade": "",
"headers": {
"User-agent": "Mozilla/1.1N",
"Proxy-authorization": "basic aGVsbG86d29ybGQ="
},
"body": "",
"strict": true
},
{
"name": "utf-8 path request",
"type": "HTTP_REQUEST",
"strict": false,
"raw": "GET /δ¶/δt/pope?q=1#narf HTTP/1.1\r\nHost: github.com\r\n\r\n",
"should_keep_alive": true,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 1,
"method": "GET",
"query_string": "q=1",
"fragment": "narf",
"request_path": "/δ¶/δt/pope",
"request_url": "/δ¶/δt/pope?q=1#narf",
"num_headers": 1,
"headers": {
"Host": "github.com"
},
"body": ""
},
{
"name": "hostname underscore",
"type": "HTTP_REQUEST",
"strict": false,
"raw": "CONNECT home_0.netscape.com:443 HTTP/1.0\r\nUser-agent: Mozilla/1.1N\r\nProxy-authorization: basic aGVsbG86d29ybGQ=\r\n\r\n",
"should_keep_alive": false,
"message_complete_on_eof": false,
"http_major": 1,
"http_minor": 0,
"method": "CONNECT",
"query_string": "",
"fragment": "",
"request_path": "",
"request_url": "home_0.netscape.com:443",
"num_headers": 2,
"upgrade": "",
"headers": {
"User-agent": "Mozilla/1.1N",
"Proxy-authorization": "basic aGVsbG86d29ybGQ="
},
"body": ""
}
]