fix(exhook): fix the server name type

This commit is contained in:
JianBo He 2021-08-06 16:55:14 +08:00
parent 183a65d263
commit 6dd33907f1
4 changed files with 6 additions and 9 deletions

View File

@ -40,7 +40,7 @@
list() -> list() ->
[server(Name) || Name <- running()]. [server(Name) || Name <- running()].
-spec enable(atom()|string(), map()) -> ok | {error, term()}. -spec enable(binary(), map()) -> ok | {error, term()}.
enable(Name, Options) -> enable(Name, Options) ->
case lists:member(Name, running()) of case lists:member(Name, running()) of
true -> true ->
@ -55,7 +55,7 @@ enable(Name, Options) ->
end end
end. end.
-spec disable(atom()|string()) -> ok | {error, term()}. -spec disable(binary()) -> ok | {error, term()}.
disable(Name) -> disable(Name) ->
case server(Name) of case server(Name) of
undefined -> {error, not_running}; undefined -> {error, not_running};
@ -111,7 +111,6 @@ save(Name, ServiceState) ->
persistent_term:put(?APP, lists:reverse([Name | Saved])), persistent_term:put(?APP, lists:reverse([Name | Saved])),
persistent_term:put({?APP, Name}, ServiceState). persistent_term:put({?APP, Name}, ServiceState).
-compile({inline, [unsave/1]}).
unsave(Name) -> unsave(Name) ->
case persistent_term:get(?APP, []) of case persistent_term:get(?APP, []) of
[] -> [] ->
@ -122,11 +121,9 @@ unsave(Name) ->
persistent_term:erase({?APP, Name}), persistent_term:erase({?APP, Name}),
ok. ok.
-compile({inline, [running/0]}).
running() -> running() ->
persistent_term:get(?APP, []). persistent_term:get(?APP, []).
-compile({inline, [server/1]}).
server(Name) -> server(Name) ->
case catch persistent_term:get({?APP, Name}) of case catch persistent_term:get({?APP, Name}) of
{'EXIT', {badarg,_}} -> undefined; {'EXIT', {badarg,_}} -> undefined;

View File

@ -29,7 +29,7 @@ cli(["server", "list"]) ->
cli(["server", "enable", Name0]) -> cli(["server", "enable", Name0]) ->
if_enabled(fun() -> if_enabled(fun() ->
Name = list_to_atom(Name0), Name = list_to_binary(Name0),
case find_server_options(Name) of case find_server_options(Name) of
undefined -> undefined ->
emqx_ctl:print("not_found~n"); emqx_ctl:print("not_found~n");
@ -40,7 +40,7 @@ cli(["server", "enable", Name0]) ->
cli(["server", "disable", Name]) -> cli(["server", "disable", Name]) ->
if_enabled(fun() -> if_enabled(fun() ->
print(emqx_exhook:disable(list_to_atom(Name))) print(emqx_exhook:disable(list_to_binary(Name)))
end); end);
cli(["server", "stats"]) -> cli(["server", "stats"]) ->

View File

@ -84,7 +84,7 @@
%% Load/Unload APIs %% Load/Unload APIs
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
-spec load(atom(), options()) -> {ok, server()} | {error, term()} . -spec load(binary(), options()) -> {ok, server()} | {error, term()} .
load(Name0, Opts0) -> load(Name0, Opts0) ->
Name = to_list(Name0), Name = to_list(Name0),
{SvrAddr, ClientOpts} = channel_opts(Opts0), {SvrAddr, ClientOpts} = channel_opts(Opts0),

View File

@ -53,7 +53,7 @@ end_per_suite(_Cfg) ->
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
t_noserver_nohook(_) -> t_noserver_nohook(_) ->
emqx_exhook:disable(default), emqx_exhook:disable(<<"default">>),
?assertEqual([], loaded_exhook_hookpoints()), ?assertEqual([], loaded_exhook_hookpoints()),
[#{name := Name} = Opts] = emqx_config:get([exhook, servers]), [#{name := Name} = Opts] = emqx_config:get([exhook, servers]),
ok = emqx_exhook:enable(Name, Opts), ok = emqx_exhook:enable(Name, Opts),