25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-24 16:23:40 +01:00

Improve some validators

This commit is contained in:
Evgeny Khramtsov 2019-07-15 09:59:07 +03:00
parent cd36bb6eda
commit 1fe1322bc1
3 changed files with 13 additions and 18 deletions

View File

@ -774,12 +774,6 @@ rest_dir(0, Path, <<H, T/binary>>) ->
rest_dir(0, <<H, Path/binary>>, T);
rest_dir(N, Path, <<_H, T/binary>>) -> rest_dir(N, Path, T).
expand_custom_headers(Headers) ->
lists:map(fun({K, V}) ->
{K, misc:expand_keyword(<<"@VERSION@">>, V,
ejabberd_option:version())}
end, Headers).
code_to_phrase(100) -> <<"Continue">>;
code_to_phrase(101) -> <<"Switching Protocols ">>;
code_to_phrase(200) -> <<"OK">>;
@ -904,21 +898,22 @@ normalize_path([Part | Path], Norm) ->
listen_opt_type(tag) ->
econf:binary();
listen_opt_type(request_handlers) ->
econf:and_then(
econf:map(
econf:map(
econf:and_then(
econf:binary(),
econf:beam([[{socket_handoff, 3}, {process, 2}]])),
fun(L) ->
[{str:tokens(Path, <<"/">>), Mod} || {Path, Mod} <- L]
end);
fun(Path) -> str:tokens(Path, <<"/">>) end),
econf:beam([[{socket_handoff, 3}, {process, 2}]]));
listen_opt_type(default_host) ->
econf:domain();
listen_opt_type(custom_headers) ->
econf:and_then(
econf:map(
econf:map(
econf:binary(),
econf:and_then(
econf:binary(),
econf:binary()),
fun expand_custom_headers/1).
fun(V) ->
misc:expand_keyword(<<"@VERSION@">>, V,
ejabberd_option:version())
end)).
listen_options() ->
[{ciphers, undefined},

View File

@ -349,7 +349,7 @@ mod_opt_type(via) ->
{Type, {Host, Port}}
end)).
-spec mod_options(binary()) -> [{via, [{tcp | tls | udp, {binary(), 1..65535}}]} |
-spec mod_options(binary()) -> [{via, [{tcp | tls | udp, {binary(), 1..65535 | undefined}}]} |
{atom(), term()}].
mod_options(Host) ->
Route = #uri{scheme = <<"sip">>,

View File

@ -40,7 +40,7 @@ routes(Opts) when is_map(Opts) ->
routes(Host) ->
gen_mod:get_module_opt(Host, mod_sip, routes).
-spec via(gen_mod:opts() | global | binary()) -> [{'tcp' | 'tls' | 'udp',{binary(),1..65535}}].
-spec via(gen_mod:opts() | global | binary()) -> [{'tcp' | 'tls' | 'udp',{binary(),1..65535 | 'undefined'}}].
via(Opts) when is_map(Opts) ->
gen_mod:get_opt(via, Opts);
via(Host) ->