From 04212005d8f4e078548738256add0f6c12138946 Mon Sep 17 00:00:00 2001 From: nsensfel Date: Thu, 24 Jan 2019 09:30:04 +0100 Subject: Woops, forgot that file. --- src/shared/struct/shr_query.erl | 55 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/shared/struct/shr_query.erl (limited to 'src/shared/struct') diff --git a/src/shared/struct/shr_query.erl b/src/shared/struct/shr_query.erl new file mode 100644 index 0000000..44d3222 --- /dev/null +++ b/src/shared/struct/shr_query.erl @@ -0,0 +1,55 @@ +-module(shr_query). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-include("../../../include/yaws_api.hrl"). + +-record +( + query, + { + ip :: binary(), + params :: map:map(binary(), any()) + } +). + +-opaque type() :: #query{}. + +-export_type([type/0]). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-export +( + [ + new/1, + get_ip/1, + get_params/1 + ] +). + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec new (#arg{}) -> type(). +new (YawsArg) -> + {IP, _} = YawsArg#arg.client_ip_port, + + #query + { + ip = IP, + params = jiffy:decode(YawsArg#arg.clidata, [return_maps]) + }. + +-spec get_ip (type()) -> binary(). +get_ip (Query) -> Query#query.ip. + +-spec get_params (type()) -> map:map(binary(), any()). +get_params (Query) -> Query#query.params. -- cgit v1.2.3-70-g09d2