diff --git a/apps/emqx_authz/src/emqx_authz_api_sources.erl b/apps/emqx_authz/src/emqx_authz_api_sources.erl index 73f28176b..731c5d40f 100644 --- a/apps/emqx_authz/src/emqx_authz_api_sources.erl +++ b/apps/emqx_authz/src/emqx_authz_api_sources.erl @@ -232,10 +232,7 @@ source(get, #{bindings := #{type := Type}}) -> #{annotations := #{id := ResourceId }} -> case lookup_from_all_nodes(ResourceId) of {ok, StatusAndMetrics} -> - Fun = fun ({Key, Val}, Map) -> maps:put(Key, Val, Map) end, - {200, lists:foldl(Fun, - read_certs(Source), - maps:to_list(StatusAndMetrics))}; + {200, maps:merge(read_certs(Source), StatusAndMetrics)}; {error, ErrorMsg} -> {500, ErrorMsg} end; _ -> {200, read_certs(Source)}