diff --git a/apps/emqx_rule_engine/src/emqx_rule_actions.erl b/apps/emqx_rule_engine/src/emqx_rule_actions.erl index 83c13a3af..ae82d56c9 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_actions.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_actions.erl @@ -261,7 +261,7 @@ to_qos(TargetQoS) -> get_qos(-1, _Data, Default) -> Default; get_qos(TargetQoS, Data, _Default) -> - qos(emqx_rule_utils:replace_simple_var(TargetQoS, Data)). + qos(emqx_rule_utils:replace_var(TargetQoS, Data)). qos(<<"0">>) -> 0; qos(<<"1">>) -> 1; @@ -285,7 +285,7 @@ to_retain(TargetRetain) -> end. get_retain(TargetRetain, Data) -> - retain(emqx_rule_utils:replace_simple_var(TargetRetain, Data)). + retain(emqx_rule_utils:replace_var(TargetRetain, Data)). retain(true) -> true; retain(false) -> false; diff --git a/apps/emqx_rule_engine/src/emqx_rule_utils.erl b/apps/emqx_rule_engine/src/emqx_rule_utils.erl index 047b9d1af..137e22128 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_utils.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_utils.erl @@ -16,8 +16,7 @@ -module(emqx_rule_utils). --export([ replace_vars_in_str/2 - , replace_simple_var/2 +-export([ replace_var/2 ]). %% preprocess and process tempalte string with place holders @@ -91,20 +90,12 @@ preproc_tmpl([[Str, Phld]| Tokens], Acc) -> preproc_tmpl([[Str]| Tokens], Acc) -> preproc_tmpl(Tokens, put_head(str, Str, Acc)). -%% Replace a string contains vars to another string in which the placeholders are replace by the -%% corresponding values. For example, given "a: ${var}", if the var=1, the result string will be: -%% "a: 1". -replace_vars_in_str(Tokens, Data) when is_list(Tokens) -> - proc_tmpl(Tokens, Data, #{return => full_binary}); -replace_vars_in_str(Val, _Data) -> - Val. - %% Replace a simple var to its value. For example, given "${var}", if the var=1, then the result %% value will be an integer 1. -replace_simple_var(Tokens, Data) when is_list(Tokens) -> - [Var] = proc_tmpl(Tokens, Data, #{return => rawlist}), - Var; -replace_simple_var(Val, _Data) -> +replace_var(Tokens, Data) when is_list(Tokens) -> + [Val] = proc_tmpl(Tokens, Data, #{return => rawlist}), + Val; +replace_var(Val, _Data) -> Val. put_head(_Type, <<>>, List) -> List;