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

Add rfc7230 test suite and update others to recent Gun

This is a large commit.

The rfc7230 test suite adds many tests from the RFC7230 document.

Gun has been updated quite a bit recently, which broke the Cowboy
suites. This is now fixed with this commit.

A new hook onfirstrequest has been added. It was very useful during
debugging of the test suites.

The initial process code has changed a little; more changes are
expected with the switch to maps for options.
This commit is contained in:
Loïc Hoguin 2015-05-05 19:59:37 +03:00
parent 90ae31998e
commit 228cebaf04
21 changed files with 2137 additions and 440 deletions

View file

@ -0,0 +1,16 @@
%% This module echoes back the value the test is interested in.
-module(asterisk_h).
-export([init/2]).
init(Req, Opts) ->
echo(cowboy_req:header(<<"x-echo">>, Req), Req, Opts).
echo(What, Req, Opts) ->
F = binary_to_atom(What, latin1),
Value = case cowboy_req:F(Req) of
V when is_integer(V) -> integer_to_binary(V);
V -> V
end,
{ok, cowboy_req:reply(200, [], Value, Req), Opts}.

16
test/handlers/echo_h.erl Normal file
View file

@ -0,0 +1,16 @@
%% This module echoes back the value the test is interested in.
-module(echo_h).
-export([init/2]).
init(Req, Opts) ->
echo(cowboy_req:binding(key, Req), Req, Opts).
echo(What, Req, Opts) ->
F = binary_to_atom(What, latin1),
Value = case cowboy_req:F(Req) of
V when is_integer(V) -> integer_to_binary(V);
V -> V
end,
{ok, cowboy_req:reply(200, [], Value, Req), Opts}.

View file

@ -0,0 +1,8 @@
%% This module sends a hello world response.
-module(hello_h).
-export([init/2]).
init(Req, Opts) ->
{ok, cowboy_req:reply(200, [], <<"Hello world!">>, Req), Opts}.

View file

@ -6,5 +6,5 @@
-export([init/2]).
init(Req, content_length) ->
cowboy_error_h:ignore(erlang, binary_to_integer, 1),
ct_helper_error_h:ignore(erlang, binary_to_integer, 1),
cowboy_req:parse_header(<<"content-length">>, Req).