0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00

Move one more old HTTP test case

This commit is contained in:
Loïc Hoguin 2018-11-21 13:56:33 +01:00
parent dc52ebe440
commit 84e474d212
No known key found for this signature in database
GPG key ID: 8A9DF795F6FED764
2 changed files with 16 additions and 47 deletions

View file

@ -102,14 +102,6 @@ init_dispatch(_) ->
%% Convenience functions.
do_raw(Data, Config) ->
Client = raw_open(Config),
ok = raw_send(Client, Data),
case catch raw_recv_head(Client) of
{'EXIT', _} -> closed;
Resp -> element(2, cow_http:parse_status_line(Resp))
end.
do_get(Path, Config) ->
ConnPid = gun_open(Config),
Ref = gun:get(ConnPid, Path),
@ -135,34 +127,6 @@ error_init_after_reply(Config) ->
{response, nofin, 200, _} = gun:await(ConnPid, Ref),
ok.
keepalive_nl(Config) ->
ConnPid = gun_open(Config),
Refs = [begin
Ref = gun:get(ConnPid, "/", [{<<"connection">>, <<"keep-alive">>}]),
dbg_send_raw(ConnPid, <<"\r\n">>),
Ref
end || _ <- lists:seq(1, 10)],
_ = [begin
{response, nofin, 200, Headers} = gun:await(ConnPid, Ref),
false = lists:keymember(<<"connection">>, 1, Headers)
end || Ref <- Refs],
ok.
keepalive_stream_loop(Config) ->
ConnPid = gun_open(Config),
Refs = [begin
Ref = gun:post(ConnPid, "/loop_stream_recv",
[{<<"content-type">>, <<"application/octet-stream">>}]),
_ = [gun:data(ConnPid, Ref, nofin, << ID:32 >>)
|| ID <- lists:seq(1, 250)],
gun:data(ConnPid, Ref, fin, <<>>),
Ref
end || _ <- lists:seq(1, 10)],
_ = [begin
{response, fin, 200, _} = gun:await(ConnPid, Ref)
end || Ref <- Refs],
ok.
rest_param_all(Config) ->
ConnPid = gun_open(Config),
%% Accept without param.
@ -361,14 +325,3 @@ rest_resource_etags_if_none_match(Config) ->
[{<<"if-none-match">>, ETag}]),
{Ret, Type}
end || {Status, ETag, Type} <- Tests].
dbg_send_raw(ConnPid, Data) ->
#{
socket := Socket,
transport := Transport
} = gun:info(ConnPid),
_ = case Transport of
tcp -> gen_tcp:send(Socket, Data);
tls -> ssl:send(Socket, Data)
end,
ok.

View file

@ -1459,6 +1459,22 @@ limit_requests_keepalive(Config) ->
{_, <<"close">>} = lists:keyfind(<<"connection">>, 1, RespHeaders),
gun_down(ConnPid).
accept_at_least_1_empty_line_keepalive(Config) ->
doc("A configurable number of empty lines (CRLF) preceding the request "
"must be ignored. At least 1 empty line must be ignored. (RFC7230 3.5)"),
#{code := 200, client := Client} = do_raw(Config,
"GET / HTTP/1.1\r\n"
"Host: localhost\r\n"
"\r\n"
%% We send an extra CRLF that must be ignored.
"\r\n"),
ok = raw_send(Client,
"GET / HTTP/1.1\r\n"
"Host: localhost\r\n"
"\r\n"),
{'HTTP/1.1', 200, _, _} = cow_http:parse_status_line(raw_recv_head(Client)),
ok.
%skip_request_body_by_closing_connection(Config) ->
%%A server that doesn't want to read the entire body of a message
%%must close the connection, if possible after sending the "close"