diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/cowboy_test.erl | 3 | ||||
-rw-r--r-- | test/rfc7231_SUITE.erl | 32 |
2 files changed, 30 insertions, 5 deletions
diff --git a/test/cowboy_test.erl b/test/cowboy_test.erl index 23185b4..8bd808a 100644 --- a/test/cowboy_test.erl +++ b/test/cowboy_test.erl @@ -112,7 +112,8 @@ gun_open(Config, Opts) -> retry => 0, transport => config(type, Config), transport_opts => proplists:get_value(transport_opts, Config, []), - protocols => [config(protocol, Config)] + protocols => [config(protocol, Config)], + http_opts => proplists:get_value(http_opts, Config, #{}) }), ConnPid. diff --git a/test/rfc7231_SUITE.erl b/test/rfc7231_SUITE.erl index e0940ab..5d5a803 100644 --- a/test/rfc7231_SUITE.erl +++ b/test/rfc7231_SUITE.erl @@ -186,6 +186,34 @@ method_trace(Config) -> %% Status codes. +http10_status_code_100(Config) -> + case config(protocol, Config) of + http -> + doc("The 100 Continue status code must not " + "be sent to HTTP/1.0 endpoints. (RFC7231 6.2)"), + do_http10_status_code_1xx(100, Config); + http2 -> + status_code_100(Config) + end. + +http10_status_code_101(Config) -> + case config(protocol, Config) of + http -> + doc("The 101 Switching Protocols status code must not " + "be sent to HTTP/1.0 endpoints. (RFC7231 6.2)"), + do_http10_status_code_1xx(101, Config); + http2 -> + status_code_101(Config) + end. + +do_http10_status_code_1xx(StatusCode, Config) -> + ConnPid = gun_open([{http_opts, #{version => 'HTTP/1.0'}}|Config]), + Ref = gun:get(ConnPid, "/resp/inform2/" ++ integer_to_list(StatusCode), [ + {<<"accept-encoding">>, <<"gzip">>} + ]), + {response, _, 200, _} = gun:await(ConnPid, Ref), + ok. + status_code_100(Config) -> doc("The 100 Continue status code can be sent. (RFC7231 6.2.1)"), ConnPid = gun_open(Config), @@ -195,8 +223,6 @@ status_code_100(Config) -> {inform, 100, []} = gun:await(ConnPid, Ref), ok. -%http10_status_code_100(Config) -> - status_code_101(Config) -> doc("The 101 Switching Protocols status code can be sent. (RFC7231 6.2.2)"), ConnPid = gun_open(Config), @@ -206,8 +232,6 @@ status_code_101(Config) -> {inform, 101, []} = gun:await(ConnPid, Ref), ok. -%http10_status_code_100(Config) -> - status_code_200(Config) -> doc("The 200 OK status code can be sent. (RFC7231 6.3.1)"), ConnPid = gun_open(Config), |