From 6058800abb409dfc9074eecf7d594d109891c7e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 21 Nov 2018 10:47:31 +0100 Subject: Move another test from the old HTTP test suite --- test/handlers/resp_h.erl | 3 +++ test/old_http_SUITE.erl | 7 ------- test/rfc7231_SUITE.erl | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/test/handlers/resp_h.erl b/test/handlers/resp_h.erl index 1c587ce..5e5e766 100644 --- a/test/handlers/resp_h.erl +++ b/test/handlers/resp_h.erl @@ -30,6 +30,9 @@ do(<<"set_resp_cookie4">>, Req0, Opts) -> do(<<"set_resp_header">>, Req0, Opts) -> Req = cowboy_req:set_resp_header(<<"content-type">>, <<"text/plain">>, Req0), {ok, cowboy_req:reply(200, #{}, "OK", Req), Opts}; +do(<<"set_resp_header_server">>, Req0, Opts) -> + Req = cowboy_req:set_resp_header(<<"server">>, <<"nginx">>, Req0), + {ok, cowboy_req:reply(200, #{}, "OK", Req), Opts}; do(<<"set_resp_headers">>, Req0, Opts) -> Req = cowboy_req:set_resp_headers(#{ <<"content-type">> => <<"text/plain">>, diff --git a/test/old_http_SUITE.erl b/test/old_http_SUITE.erl index 9eef4fd..8cd0939 100644 --- a/test/old_http_SUITE.erl +++ b/test/old_http_SUITE.erl @@ -415,13 +415,6 @@ rest_resource_etags_if_none_match(Config) -> {Ret, Type} end || {Status, ETag, Type} <- Tests]. -set_resp_overwrite(Config) -> - ConnPid = gun_open(Config), - Ref = gun:get(ConnPid, "/set_resp/overwrite"), - {response, nofin, 200, Headers} = gun:await(ConnPid, Ref), - {_, <<"DesireDrive/1.0">>} = lists:keyfind(<<"server">>, 1, Headers), - ok. - slowloris(Config) -> Client = raw_open(Config), try diff --git a/test/rfc7231_SUITE.erl b/test/rfc7231_SUITE.erl index 2bd5bb1..642429b 100644 --- a/test/rfc7231_SUITE.erl +++ b/test/rfc7231_SUITE.erl @@ -898,5 +898,23 @@ date_5xx(Config) -> {_, _} = lists:keyfind(<<"date">>, 1, Headers), ok. +server_header(Config) -> + doc("An origin server may generate a server header field. " + "Cowboy generates a small one by default. (RFC7231 7.4.2)"), + ConnPid = gun_open(Config), + Ref = gun:get(ConnPid, "/"), + {response, _, 200, Headers} = gun:await(ConnPid, Ref), + {_, <<"Cowboy">>} = lists:keyfind(<<"server">>, 1, Headers), + ok. + +server_header_override(Config) -> + doc("An origin server may generate a server header field. " + "Cowboy allows the user to override the default. (RFC7231 7.4.2)"), + ConnPid = gun_open(Config), + Ref = gun:get(ConnPid, "/resp/set_resp_header_server"), + {response, _, 200, Headers} = gun:await(ConnPid, Ref), + {_, <<"nginx">>} = lists:keyfind(<<"server">>, 1, Headers), + ok. + %% @todo It's worth revisiting this RFC in the context of cowboy_rest %% to ensure the state machine is doing what's expected by the RFC. -- cgit v1.2.3