mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-16 05:00:24 +00:00
Add default operations for OPTIONS method in REST
It defaults to setting the Allow header to "HEAD, GET, OPTIONS".
This commit is contained in:
parent
d063511a0e
commit
b58a0549e1
4 changed files with 45 additions and 12 deletions
|
@ -61,6 +61,7 @@
|
|||
-export([rest_missing_get_callbacks/1]).
|
||||
-export([rest_missing_put_callbacks/1]).
|
||||
-export([rest_nodelete/1]).
|
||||
-export([rest_options_default/1]).
|
||||
-export([rest_param_all/1]).
|
||||
-export([rest_patch/1]).
|
||||
-export([rest_resource_etags/1]).
|
||||
|
@ -131,6 +132,7 @@ groups() ->
|
|||
rest_missing_get_callbacks,
|
||||
rest_missing_put_callbacks,
|
||||
rest_nodelete,
|
||||
rest_options_default,
|
||||
rest_param_all,
|
||||
rest_patch,
|
||||
rest_resource_etags,
|
||||
|
@ -367,6 +369,7 @@ init_dispatch(Config) ->
|
|||
{"/patch", rest_patch_resource, []},
|
||||
{"/resetags", rest_resource_etags, []},
|
||||
{"/rest_expires", rest_expires, []},
|
||||
{"/rest_empty_resource", rest_empty_resource, []},
|
||||
{"/loop_recv", http_handler_loop_recv, []},
|
||||
{"/loop_timeout", http_handler_loop_timeout, []},
|
||||
{"/", http_handler, []}
|
||||
|
@ -967,6 +970,13 @@ rest_nodelete(Config) ->
|
|||
build_url("/nodelete", Config), Client),
|
||||
{ok, 500, _, _} = cowboy_client:response(Client2).
|
||||
|
||||
rest_options_default(Config) ->
|
||||
Client = ?config(client, Config),
|
||||
{ok, Client2} = cowboy_client:request(<<"OPTIONS">>,
|
||||
build_url("/rest_empty_resource", Config), Client),
|
||||
{ok, 200, Headers, _} = cowboy_client:response(Client2),
|
||||
{_, <<"HEAD, GET, OPTIONS">>} = lists:keyfind(<<"allow">>, 1, Headers).
|
||||
|
||||
rest_patch(Config) ->
|
||||
Tests = [
|
||||
{204, [{<<"content-type">>, <<"text/plain">>}], <<"whatever">>},
|
||||
|
|
5
test/rest_empty_resource.erl
Normal file
5
test/rest_empty_resource.erl
Normal file
|
@ -0,0 +1,5 @@
|
|||
-module(rest_empty_resource).
|
||||
-export([init/3]).
|
||||
|
||||
init(_Transport, _Req, _Opts) ->
|
||||
{upgrade, protocol, cowboy_rest}.
|
Loading…
Add table
Add a link
Reference in a new issue