From 8c9ad7bf078871295e391f416bfcb10c9156a35f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sun, 4 Nov 2018 11:51:35 +0100 Subject: Add the rate_limited/2 REST callback --- test/handlers/rate_limited_h.erl | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 test/handlers/rate_limited_h.erl (limited to 'test/handlers/rate_limited_h.erl') diff --git a/test/handlers/rate_limited_h.erl b/test/handlers/rate_limited_h.erl new file mode 100644 index 0000000..e54249c --- /dev/null +++ b/test/handlers/rate_limited_h.erl @@ -0,0 +1,24 @@ +%% This module does rate limiting based on the query string value. + +-module(rate_limited_h). + +-export([init/2]). +-export([rate_limited/2]). +-export([content_types_provided/2]). +-export([get_text_plain/2]). + +init(Req, State) -> + {cowboy_rest, Req, State}. + +rate_limited(Req=#{qs := <<"false">>}, State) -> + {false, Req, State}; +rate_limited(Req=#{qs := <<"true-date">>}, State) -> + {{true, {{2222, 2, 22}, {11, 11, 11}}}, Req, State}; +rate_limited(Req=#{qs := <<"true">>}, State) -> + {{true, 3600}, Req, State}. + +content_types_provided(Req, State) -> + {[{{<<"text">>, <<"plain">>, []}, get_text_plain}], Req, State}. + +get_text_plain(Req, State) -> + {<<"This is REST!">>, Req, State}. -- cgit v1.2.3