From 8336270331c8ffdc04e79f069df5b051adc62e68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sun, 6 Jan 2019 11:16:13 +0100 Subject: Fix KilledStreams value for HTTP for connection: close responses --- test/gun_SUITE.erl | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'test/gun_SUITE.erl') diff --git a/test/gun_SUITE.erl b/test/gun_SUITE.erl index 93a09cc..6da5ca6 100644 --- a/test/gun_SUITE.erl +++ b/test/gun_SUITE.erl @@ -180,6 +180,32 @@ keepalive_infinity(_) -> error(timeout) end. +killed_streams_http(_) -> + doc("Ensure completed responses with a connection: close are not considered killed streams."), + {ok, _, OriginPort} = init_origin(tcp, http, + fun (_, ClientSocket, ClientTransport) -> + {ok, _} = ClientTransport:recv(ClientSocket, 0, 1000), + ClientTransport:send(ClientSocket, + "HTTP/1.1 200 OK\r\n" + "connection: close\r\n" + "content-length: 12\r\n" + "\r\n" + "hello world!" + ) + end), + {ok, ConnPid} = gun:open("localhost", OriginPort), + {ok, http} = gun:await_up(ConnPid), + StreamRef = gun:get(ConnPid, "/"), + {response, nofin, 200, _} = gun:await(ConnPid, StreamRef), + {ok, <<"hello world!">>} = gun:await_body(ConnPid, StreamRef), + receive + {gun_down, ConnPid, http, normal, KilledStreams, _} -> + [] = KilledStreams, + gun:close(ConnPid) + after 1000 -> + error(timeout) + end. + reply_to(_) -> doc("The reply_to option allows using a separate process for requests."), do_reply_to(http), -- cgit v1.2.3