diff options
author | Loïc Hoguin <[email protected]> | 2011-10-04 10:54:30 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2011-10-04 10:54:30 +0200 |
commit | d25c30790cc3afae03838a160f87ca0acd745989 (patch) | |
tree | 0f425a5fe6079f4140a72a87c3bc34fc6f6efbf2 /test/http_SUITE.erl | |
parent | 986630d9ad70a1ae82954a7bfedc976a1b8b7294 (diff) | |
download | cowboy-d25c30790cc3afae03838a160f87ca0acd745989.tar.gz cowboy-d25c30790cc3afae03838a160f87ca0acd745989.tar.bz2 cowboy-d25c30790cc3afae03838a160f87ca0acd745989.zip |
Do not send a 408 response if the Request-Line wasn't fully received
The server should not send a response if there wasn't at least
the beginning of a request sent (the Request-Line).
Diffstat (limited to 'test/http_SUITE.erl')
-rw-r--r-- | test/http_SUITE.erl | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/test/http_SUITE.erl b/test/http_SUITE.erl index 813aa15..8bfebaa 100644 --- a/test/http_SUITE.erl +++ b/test/http_SUITE.erl @@ -197,10 +197,14 @@ raw_req(Packet, Config) -> {ok, Socket} = gen_tcp:connect("localhost", Port, [binary, {active, false}, {packet, raw}]), ok = gen_tcp:send(Socket, Packet), - {ok, << "HTTP/1.1 ", Str:24/bits, _Rest/bits >>} - = gen_tcp:recv(Socket, 0, 6000), + Res = case gen_tcp:recv(Socket, 0, 6000) of + {ok, << "HTTP/1.1 ", Str:24/bits, _Rest/bits >>} -> + list_to_integer(binary_to_list(Str)); + {error, Reason} -> + Reason + end, gen_tcp:close(Socket), - {Packet, list_to_integer(binary_to_list(Str))}. + {Packet, Res}. raw(Config) -> Tests = [ @@ -209,10 +213,10 @@ raw(Config) -> {"Garbage\r\n\r\n", 400}, {"\r\n\r\n\r\n\r\n\r\n\r\n", 400}, {"GET / HTTP/1.1\r\nHost: dev-extend.eu\r\n\r\n", 400}, - {"", 408}, - {"\r\n", 408}, - {"\r\n\r\n", 408}, - {"GET / HTTP/1.1", 408}, + {"", closed}, + {"\r\n", closed}, + {"\r\n\r\n", closed}, + {"GET / HTTP/1.1", closed}, {"GET / HTTP/1.1\r\n", 408}, {"GET / HTTP/1.1\r\nHost: localhost", 408}, {"GET / HTTP/1.1\r\nHost: localhost\r\n", 408}, |