Просмотр исходного кода

fix: load bad configs return unknown msg

zhongwencool 1 год назад
Родитель
Сommit
8aab919f74

+ 6 - 0
apps/emqx_conf/src/emqx_conf_cli.erl

@@ -237,6 +237,12 @@ load_config(Bin, Opts) when is_binary(Bin) ->
     case hocon:binary(Bin) of
         {ok, RawConf} ->
             load_config_from_raw(RawConf, Opts);
+        %% Type is scan_error, parse_error...
+        {error, {Type, Meta = #{reason := Reason}}} ->
+            {error, Meta#{
+                reason => unicode:characters_to_binary(Reason),
+                type => Type
+            }};
         {error, Reason} ->
             {error, Reason}
     end.

+ 2 - 2
apps/emqx_management/src/emqx_mgmt_api_configs.erl

@@ -364,10 +364,10 @@ configs(get, #{query_string := QueryStr, headers := Headers}, _Req) ->
         {error, _} = Error -> {400, #{code => 'INVALID_ACCEPT', message => ?ERR_MSG(Error)}}
     end;
 configs(put, #{body := Conf, query_string := #{<<"mode">> := Mode} = QS}, _Req) ->
-    IngnoreReadonly = maps:get(<<"ignore_readonly">>, QS, false),
+    IgnoreReadonly = maps:get(<<"ignore_readonly">>, QS, false),
     case
         emqx_conf_cli:load_config(Conf, #{
-            mode => Mode, log => none, ignore_readonly => IngnoreReadonly
+            mode => Mode, log => none, ignore_readonly => IgnoreReadonly
         })
     of
         ok ->