From 239f15930629a127cf76766921fd7bd8710987a5 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Fri, 22 Apr 2022 17:08:18 +0800 Subject: [PATCH] chore: improve error message --- apps/emqx_modules/src/emqx_topic_metrics.erl | 12 +++++------- apps/emqx_modules/src/emqx_topic_metrics_api.erl | 10 +--------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/apps/emqx_modules/src/emqx_topic_metrics.erl b/apps/emqx_modules/src/emqx_topic_metrics.erl index 65409fd61..76d0c6e14 100644 --- a/apps/emqx_modules/src/emqx_topic_metrics.erl +++ b/apps/emqx_modules/src/emqx_topic_metrics.erl @@ -309,6 +309,10 @@ do_register(Topic, Speeds) -> {error, already_existed}; false -> case {number_of_registered_topics() < ?MAX_TOPICS, emqx_topic:wildcard(Topic)} of + {_, true} -> + {error, bad_topic}; + {false, _} -> + {error, quota_exceeded}; {true, false} -> CreateTime = emqx_rule_funcs:now_rfc3339(), CRef = counters:new(counters_size(), [write_concurrency]), @@ -325,13 +329,7 @@ do_register(Topic, Speeds) -> Speeds, ?TOPIC_METRICS ), - {ok, NSpeeds}; - {true, true} -> - {error, bad_topic}; - {false, false} -> - {error, quota_exceeded}; - {false, true} -> - {error, {quota_exceeded, bad_topic}} + {ok, NSpeeds} end end. diff --git a/apps/emqx_modules/src/emqx_topic_metrics_api.erl b/apps/emqx_modules/src/emqx_topic_metrics_api.erl index c69b07734..2b0e2f8f2 100644 --- a/apps/emqx_modules/src/emqx_topic_metrics_api.erl +++ b/apps/emqx_modules/src/emqx_topic_metrics_api.erl @@ -572,16 +572,8 @@ reason2httpresp(quota_exceeded) -> ), {409, #{code => ?EXCEED_LIMIT, message => Msg}}; reason2httpresp(bad_topic) -> - Msg = <<"Bad Topic, topic cannot have wildcard">>, + Msg = <<"Wildcard topic is not supported">>, {400, #{code => ?BAD_TOPIC, message => Msg}}; -reason2httpresp({quota_exceeded, bad_topic}) -> - Msg = list_to_binary( - io_lib:format( - "Max topic metrics count is ~p, and topic cannot have wildcard", - [emqx_topic_metrics:max_limit()] - ) - ), - {400, #{code => ?BAD_REQUEST, message => Msg}}; reason2httpresp(already_existed) -> Msg = <<"Topic already registered">>, {400, #{code => ?BAD_TOPIC, message => Msg}};