From d25c30790cc3afae03838a160f87ca0acd745989 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Tue, 4 Oct 2011 10:54:30 +0200 Subject: 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). --- test/http_SUITE.erl | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'test/http_SUITE.erl') 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}, -- cgit v1.2.3