aboutsummaryrefslogtreecommitdiffstats
path: root/test/rfc7230_SUITE.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-06-04 14:33:24 +0200
committerLoïc Hoguin <[email protected]>2018-06-04 14:33:24 +0200
commit1a6407d8a85100fd11e720b94bf5b0b1e089b884 (patch)
tree85fe1713c8009325eace428727faaaae4dcf34d3 /test/rfc7230_SUITE.erl
parent714b11639e9719e42ba0beafb6e6185b0d02e68a (diff)
downloadcowboy-1a6407d8a85100fd11e720b94bf5b0b1e089b884.tar.gz
cowboy-1a6407d8a85100fd11e720b94bf5b0b1e089b884.tar.bz2
cowboy-1a6407d8a85100fd11e720b94bf5b0b1e089b884.zip
Add a test for an empty host header in rfc7230
Diffstat (limited to 'test/rfc7230_SUITE.erl')
-rw-r--r--test/rfc7230_SUITE.erl18
1 files changed, 16 insertions, 2 deletions
diff --git a/test/rfc7230_SUITE.erl b/test/rfc7230_SUITE.erl
index 2c4319f..3e06d6c 100644
--- a/test/rfc7230_SUITE.erl
+++ b/test/rfc7230_SUITE.erl
@@ -17,6 +17,7 @@
-compile(nowarn_export_all).
-import(ct_helper, [doc/1]).
+-import(ct_helper, [name/0]).
-import(cowboy_test, [gun_open/1]).
-import(cowboy_test, [gun_down/1]).
-import(cowboy_test, [raw_open/1]).
@@ -1587,8 +1588,21 @@ reject_absolute_form_different_host(Config) ->
%identical to the host header. Invalid requests must be rejected
%with a 400 status code and the closing of the connection.
-%empty_host(Config) ->
-%The host header is empty when the authority component is undefined. (RFC7230 5.4)
+empty_host(Config0) ->
+ doc("The host header is empty when the authority component is undefined. (RFC7230 5.4)"),
+ Routes = [{'_', [{"/echo/:key[/:arg]", echo_h, []}]}],
+ Config = cowboy_test:init_http(name(), #{
+ env => #{dispatch => cowboy_router:compile(Routes)}
+ }, Config0),
+ #{code := 200, body := <<>>} = do_raw(Config, [
+ "GET /echo/host HTTP/1.1\r\n"
+ "Host:\r\n"
+ "\r\n"]),
+ #{code := 200, body := <<>>} = do_raw(Config, [
+ "GET /echo/host HTTP/1.1\r\n"
+ "Host: \r\n"
+ "\r\n"]),
+ cowboy:stop_listener(name()).
%% The effective request URI can be rebuilt by concatenating scheme,
%% "://", authority, path and query components. (RFC7230 5.5)