mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
Move the final old HTTP suite tests and remove it
This commit is contained in:
parent
037b286aa8
commit
0223f69fcd
24 changed files with 241 additions and 591 deletions
23
test/handlers/accept_callback_h.erl
Normal file
23
test/handlers/accept_callback_h.erl
Normal file
|
@ -0,0 +1,23 @@
|
|||
%% This module returns something different in
|
||||
%% AcceptCallback depending on the query string.
|
||||
|
||||
-module(accept_callback_h).
|
||||
|
||||
-export([init/2]).
|
||||
-export([allowed_methods/2]).
|
||||
-export([content_types_accepted/2]).
|
||||
-export([put_text_plain/2]).
|
||||
|
||||
init(Req, Opts) ->
|
||||
{cowboy_rest, Req, Opts}.
|
||||
|
||||
allowed_methods(Req, State) ->
|
||||
{[<<"PUT">>, <<"POST">>, <<"PATCH">>], Req, State}.
|
||||
|
||||
content_types_accepted(Req, State) ->
|
||||
{[{{<<"text">>, <<"plain">>, []}, put_text_plain}], Req, State}.
|
||||
|
||||
put_text_plain(Req=#{qs := <<"false">>}, State) ->
|
||||
{false, Req, State};
|
||||
put_text_plain(Req=#{qs := <<"true">>}, State) ->
|
||||
{true, Req, State}.
|
|
@ -1,5 +1,5 @@
|
|||
%% This module accepts a multipart media type with parameters
|
||||
%% that do not include boundary.
|
||||
%% This module returns something different in
|
||||
%% content_types_accepted depending on the query string.
|
||||
|
||||
-module(content_types_accepted_h).
|
||||
|
||||
|
@ -19,6 +19,8 @@ content_types_accepted(Req=#{qs := <<"multipart">>}, State) ->
|
|||
{[
|
||||
{{<<"multipart">>, <<"mixed">>, [{<<"v">>, <<"1">>}]}, put_multipart_mixed}
|
||||
], Req, State};
|
||||
content_types_accepted(Req=#{qs := <<"param">>}, State) ->
|
||||
{[{{<<"text">>, <<"plain">>, [{<<"charset">>, <<"utf-8">>}]}, put_text_plain}], Req, State};
|
||||
content_types_accepted(Req=#{qs := <<"wildcard-param">>}, State) ->
|
||||
{[{{<<"text">>, <<"plain">>, '*'}, put_text_plain}], Req, State}.
|
||||
|
||||
|
|
17
test/handlers/delete_resource_h.erl
Normal file
17
test/handlers/delete_resource_h.erl
Normal file
|
@ -0,0 +1,17 @@
|
|||
%% This module accepts a multipart media type with parameters
|
||||
%% that do not include boundary.
|
||||
|
||||
-module(delete_resource_h).
|
||||
|
||||
-export([init/2]).
|
||||
-export([allowed_methods/2]).
|
||||
-export([delete_resource/2]).
|
||||
|
||||
init(Req, Opts) ->
|
||||
{cowboy_rest, Req, Opts}.
|
||||
|
||||
allowed_methods(Req, State) ->
|
||||
{[<<"DELETE">>], Req, State}.
|
||||
|
||||
delete_resource(#{qs := <<"missing">>}, _) ->
|
||||
no_call.
|
39
test/handlers/generate_etag_h.erl
Normal file
39
test/handlers/generate_etag_h.erl
Normal file
|
@ -0,0 +1,39 @@
|
|||
%% This module sends a different etag value
|
||||
%% depending on the query string.
|
||||
|
||||
-module(generate_etag_h).
|
||||
|
||||
-export([init/2]).
|
||||
-export([content_types_provided/2]).
|
||||
-export([get_text_plain/2]).
|
||||
-export([generate_etag/2]).
|
||||
|
||||
init(Req, Opts) ->
|
||||
{cowboy_rest, Req, Opts}.
|
||||
|
||||
content_types_provided(Req, State) ->
|
||||
{[{{<<"text">>, <<"plain">>, []}, get_text_plain}], Req, State}.
|
||||
|
||||
get_text_plain(Req, State) ->
|
||||
{<<"This is REST!">>, Req, State}.
|
||||
|
||||
%% Correct return values from generate_etag/2.
|
||||
generate_etag(Req=#{qs := <<"tuple-weak">>}, State) ->
|
||||
{{weak, <<"etag-header-value">>}, Req, State};
|
||||
generate_etag(Req=#{qs := <<"tuple-strong">>}, State) ->
|
||||
{{strong, <<"etag-header-value">>}, Req, State};
|
||||
%% Backwards compatible return values from generate_etag/2.
|
||||
generate_etag(Req=#{qs := <<"binary-weak-quoted">>}, State) ->
|
||||
{<<"W/\"etag-header-value\"">>, Req, State};
|
||||
generate_etag(Req=#{qs := <<"binary-strong-quoted">>}, State) ->
|
||||
{<<"\"etag-header-value\"">>, Req, State};
|
||||
%% Invalid return values from generate_etag/2.
|
||||
generate_etag(Req=#{qs := <<"binary-weak-unquoted">>}, State) ->
|
||||
ct_helper_error_h:ignore(cow_http_hd, parse_etag, 1),
|
||||
{<<"W/etag-header-value">>, Req, State};
|
||||
generate_etag(Req=#{qs := <<"binary-strong-unquoted">>}, State) ->
|
||||
ct_helper_error_h:ignore(cow_http_hd, parse_etag, 1),
|
||||
{<<"etag-header-value">>, Req, State};
|
||||
%% Simulate the callback being missing in other cases.
|
||||
generate_etag(#{qs := <<"missing">>}, _) ->
|
||||
no_call.
|
Loading…
Add table
Add a link
Reference in a new issue