mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-15 20:50:24 +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:
parent
90ae31998e
commit
228cebaf04
21 changed files with 2137 additions and 440 deletions
|
@ -9,9 +9,9 @@ init(Req, _Opts) ->
|
|||
case_init(Case, Req).
|
||||
|
||||
case_init(<<"init_before_reply">> = Case, _Req) ->
|
||||
cowboy_error_h:ignore(?MODULE, case_init, 2),
|
||||
ct_helper_error_h:ignore(?MODULE, case_init, 2),
|
||||
error(Case);
|
||||
case_init(<<"init_after_reply">> = Case, Req) ->
|
||||
cowboy_error_h:ignore(?MODULE, case_init, 2),
|
||||
ct_helper_error_h:ignore(?MODULE, case_init, 2),
|
||||
_ = cowboy_req:reply(200, [], "http_handler_crashes", Req),
|
||||
error(Case).
|
||||
|
|
|
@ -12,13 +12,13 @@ allowed_methods(Req, State) ->
|
|||
{[<<"GET">>, <<"PUT">>], Req, State}.
|
||||
|
||||
content_types_accepted(Req, State) ->
|
||||
cowboy_error_h:ignore(cowboy_rest, process_content_type, 3),
|
||||
ct_helper_error_h:ignore(cowboy_rest, process_content_type, 3),
|
||||
{[
|
||||
{<<"application/json">>, put_application_json}
|
||||
], Req, State}.
|
||||
|
||||
content_types_provided(Req, State) ->
|
||||
cowboy_error_h:ignore(cowboy_rest, set_resp_body, 2),
|
||||
ct_helper_error_h:ignore(cowboy_rest, set_resp_body, 2),
|
||||
{[
|
||||
{<<"text/plain">>, get_text_plain}
|
||||
], Req, State}.
|
||||
|
|
|
@ -23,10 +23,10 @@ generate_etag(Req, State) ->
|
|||
{<<"\"etag-header-value\"">>, Req, State};
|
||||
%% Invalid return values from generate_etag/2.
|
||||
<<"binary-strong-unquoted">> ->
|
||||
cowboy_error_h:ignore(cow_http_hd, parse_etag, 1),
|
||||
ct_helper_error_h:ignore(cow_http_hd, parse_etag, 1),
|
||||
{<<"etag-header-value">>, Req, State};
|
||||
<<"binary-weak-unquoted">> ->
|
||||
cowboy_error_h:ignore(cow_http_hd, parse_etag, 1),
|
||||
ct_helper_error_h:ignore(cow_http_hd, parse_etag, 1),
|
||||
{<<"W/etag-header-value">>, Req, State}
|
||||
end.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue