0
Fork 0
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:
Loïc Hoguin 2018-11-22 00:12:18 +01:00
parent 037b286aa8
commit 0223f69fcd
No known key found for this signature in database
GPG key ID: 8A9DF795F6FED764
24 changed files with 241 additions and 591 deletions

View 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}.

View file

@ -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}.

View 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.

View 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.