fix(api): escape the searching string
This commit is contained in:
parent
4eb966549e
commit
2ded7fbe8c
|
@ -258,14 +258,17 @@ ms(lifetime, X) ->
|
|||
|
||||
fuzzy_filter_fun(Fuzzy) ->
|
||||
REFuzzy = lists:map(fun({K, like, S}) ->
|
||||
{ok, RE} = re:compile(S),
|
||||
{K, like, RE}
|
||||
end, Fuzzy),
|
||||
{ok, RE} = re:compile(escape(S)),
|
||||
{K, like, RE}
|
||||
end, Fuzzy),
|
||||
fun(MsRaws) when is_list(MsRaws) ->
|
||||
lists:filter( fun(E) -> run_fuzzy_filter(E, REFuzzy) end
|
||||
, MsRaws)
|
||||
end.
|
||||
|
||||
escape(B) when is_binary(B) ->
|
||||
re:replace(B, <<"\\\\">>, <<"\\\\\\\\">>, [{return, binary}, global]).
|
||||
|
||||
run_fuzzy_filter(_, []) ->
|
||||
true;
|
||||
run_fuzzy_filter(E = {_, #{clientinfo := ClientInfo}, _}, [{Key, _, RE} | Fuzzy]) ->
|
||||
|
|
|
@ -620,14 +620,17 @@ ms(created_at, X) ->
|
|||
|
||||
fuzzy_filter_fun(Fuzzy) ->
|
||||
REFuzzy = lists:map(fun({K, like, S}) ->
|
||||
{ok, RE} = re:compile(S),
|
||||
{K, like, RE}
|
||||
end, Fuzzy),
|
||||
{ok, RE} = re:compile(escape(S)),
|
||||
{K, like, RE}
|
||||
end, Fuzzy),
|
||||
fun(MsRaws) when is_list(MsRaws) ->
|
||||
lists:filter( fun(E) -> run_fuzzy_filter(E, REFuzzy) end
|
||||
, MsRaws)
|
||||
end.
|
||||
|
||||
escape(B) when is_binary(B) ->
|
||||
re:replace(B, <<"\\\\">>, <<"\\\\\\\\">>, [{return, binary}, global]).
|
||||
|
||||
run_fuzzy_filter(_, []) ->
|
||||
true;
|
||||
run_fuzzy_filter(E = {_, #{clientinfo := ClientInfo}, _}, [{Key, _, RE} | Fuzzy]) ->
|
||||
|
|
Loading…
Reference in New Issue