Current section

Files

Jump to
nitrogen_core src handlers query query_handler.erl
Raw

src/handlers/query/query_handler.erl

% vim: sw=4 ts=4 et ft=erlang
% Nitrogen Web Framework for Erlang
% Copyright (c) 2008-2010 Rusty Klophaus
% See MIT-LICENSE for licensing information.
-module (query_handler).
-include("wf.hrl").
-export ([
get_value/1,
get_values/1,
get_params/0,
set_websocket_params/1
]).
-callback init( handler_config(),
handler_state()) -> {ok, handler_state()}.
-callback finish( handler_config(),
handler_state()) -> {ok, handler_state()}.
-callback set_websocket_params(Params :: proplist(),
handler_config(),
handler_state()) -> {ok, handler_state()}.
-callback get_value( Path :: string() | atom(),
handler_config(),
handler_state()) -> Value :: string() | binary().
-callback get_values( Path :: string() | atom(),
handler_config(),
handler_state()) -> [Value :: string()].
-callback get_params( handler_config(),
handler_state()) -> [{Key :: string(), Value :: string()}].
set_websocket_params(Params) ->
ok = wf_handler:call(query_handler, set_websocket_params, [Params]).
% get_value(Path, State) -> Value. Given a path, return the parameter
% value, undefined, or throw an exception if there are too many
% matches.
get_value(Path) ->
_Value = wf_handler:call_readonly(query_handler, get_value, [Path]).
% get_value(Path, State) -> [Values].
% Given a path, return a list of values.
get_values(Path) ->
wf_handler:call_readonly(query_handler, get_values, [Path]).
get_params() ->
wf_handler:call_readonly(query_handler, get_params, []).