From 6dd33907f1adc5a14eccd1a26473a018372c5312 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Fri, 6 Aug 2021 16:55:14 +0800 Subject: [PATCH] fix(exhook): fix the server name type --- apps/emqx_exhook/src/emqx_exhook.erl | 7 ++----- apps/emqx_exhook/src/emqx_exhook_cli.erl | 4 ++-- apps/emqx_exhook/src/emqx_exhook_server.erl | 2 +- apps/emqx_exhook/test/emqx_exhook_SUITE.erl | 2 +- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/apps/emqx_exhook/src/emqx_exhook.erl b/apps/emqx_exhook/src/emqx_exhook.erl index e016190e0..b370c6e27 100644 --- a/apps/emqx_exhook/src/emqx_exhook.erl +++ b/apps/emqx_exhook/src/emqx_exhook.erl @@ -40,7 +40,7 @@ list() -> [server(Name) || Name <- running()]. --spec enable(atom()|string(), map()) -> ok | {error, term()}. +-spec enable(binary(), map()) -> ok | {error, term()}. enable(Name, Options) -> case lists:member(Name, running()) of true -> @@ -55,7 +55,7 @@ enable(Name, Options) -> end end. --spec disable(atom()|string()) -> ok | {error, term()}. +-spec disable(binary()) -> ok | {error, term()}. disable(Name) -> case server(Name) of undefined -> {error, not_running}; @@ -111,7 +111,6 @@ save(Name, ServiceState) -> persistent_term:put(?APP, lists:reverse([Name | Saved])), persistent_term:put({?APP, Name}, ServiceState). --compile({inline, [unsave/1]}). unsave(Name) -> case persistent_term:get(?APP, []) of [] -> @@ -122,11 +121,9 @@ unsave(Name) -> persistent_term:erase({?APP, Name}), ok. --compile({inline, [running/0]}). running() -> persistent_term:get(?APP, []). --compile({inline, [server/1]}). server(Name) -> case catch persistent_term:get({?APP, Name}) of {'EXIT', {badarg,_}} -> undefined; diff --git a/apps/emqx_exhook/src/emqx_exhook_cli.erl b/apps/emqx_exhook/src/emqx_exhook_cli.erl index ccfbe4d45..c8491cc32 100644 --- a/apps/emqx_exhook/src/emqx_exhook_cli.erl +++ b/apps/emqx_exhook/src/emqx_exhook_cli.erl @@ -29,7 +29,7 @@ cli(["server", "list"]) -> cli(["server", "enable", Name0]) -> if_enabled(fun() -> - Name = list_to_atom(Name0), + Name = list_to_binary(Name0), case find_server_options(Name) of undefined -> emqx_ctl:print("not_found~n"); @@ -40,7 +40,7 @@ cli(["server", "enable", Name0]) -> cli(["server", "disable", Name]) -> if_enabled(fun() -> - print(emqx_exhook:disable(list_to_atom(Name))) + print(emqx_exhook:disable(list_to_binary(Name))) end); cli(["server", "stats"]) -> diff --git a/apps/emqx_exhook/src/emqx_exhook_server.erl b/apps/emqx_exhook/src/emqx_exhook_server.erl index ca865178f..897a2858d 100644 --- a/apps/emqx_exhook/src/emqx_exhook_server.erl +++ b/apps/emqx_exhook/src/emqx_exhook_server.erl @@ -84,7 +84,7 @@ %% Load/Unload APIs %%-------------------------------------------------------------------- --spec load(atom(), options()) -> {ok, server()} | {error, term()} . +-spec load(binary(), options()) -> {ok, server()} | {error, term()} . load(Name0, Opts0) -> Name = to_list(Name0), {SvrAddr, ClientOpts} = channel_opts(Opts0), diff --git a/apps/emqx_exhook/test/emqx_exhook_SUITE.erl b/apps/emqx_exhook/test/emqx_exhook_SUITE.erl index 8c5af47fc..bf5d6ac1f 100644 --- a/apps/emqx_exhook/test/emqx_exhook_SUITE.erl +++ b/apps/emqx_exhook/test/emqx_exhook_SUITE.erl @@ -53,7 +53,7 @@ end_per_suite(_Cfg) -> %%-------------------------------------------------------------------- t_noserver_nohook(_) -> - emqx_exhook:disable(default), + emqx_exhook:disable(<<"default">>), ?assertEqual([], loaded_exhook_hookpoints()), [#{name := Name} = Opts] = emqx_config:get([exhook, servers]), ok = emqx_exhook:enable(Name, Opts),