diff options
| author | Michael Klishin <michael@clojurewerkz.org> | 2020-08-26 23:45:06 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2020-09-02 04:29:00 +0300 |
| commit | 61c69965f4ed740f00d4ad88200c8f209dff4606 (patch) | |
| tree | 322c6fb7fafcd86a38b97bd7219db38607a9e42d | |
| parent | 545ac105aca6246e2fa29d15841d098ed13aafc8 (diff) | |
| download | rabbitmq-server-git-61c69965f4ed740f00d4ad88200c8f209dff4606.tar.gz | |
set_user_limits/3: return an error if feature flag is disabled
| -rw-r--r-- | src/rabbit_auth_backend_internal.erl | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/rabbit_auth_backend_internal.erl b/src/rabbit_auth_backend_internal.erl index b0e86df668..cb930a1630 100644 --- a/src/rabbit_auth_backend_internal.erl +++ b/src/rabbit_auth_backend_internal.erl @@ -769,15 +769,22 @@ preconfigure_permissions(Username, Map, ActingUser) when is_map(Map) -> ok. set_user_limits(Username, Definition, ActingUser) when is_list(Definition); is_binary(Definition) -> - case rabbit_json:try_decode(rabbit_data_coercion:to_binary(Definition)) of - {ok, Term} -> - validate_parameters_and_update_limit(Username, Term, ActingUser); - {error, Reason} -> - {error_string, rabbit_misc:format( - "JSON decoding error. Reason: ~ts", [Reason])} + case rabbit_feature_flags:is_enabled(user_limits) of + true -> + case rabbit_json:try_decode(rabbit_data_coercion:to_binary(Definition)) of + {ok, Term} -> + validate_parameters_and_update_limit(Username, Term, ActingUser); + {error, Reason} -> + {error_string, rabbit_misc:format( + "JSON decoding error. Reason: ~ts", [Reason])} + end; + false -> {error_string, "cannot set any user limits: the user_limits feature flag is not enabled"} end; set_user_limits(Username, Definition, ActingUser) when is_map(Definition) -> - validate_parameters_and_update_limit(Username, Definition, ActingUser). + case rabbit_feature_flags:is_enabled(user_limits) of + true -> validate_parameters_and_update_limit(Username, Definition, ActingUser); + false -> {error_string, "cannot set any user limits: the user_limits feature flag is not enabled"} + end. validate_parameters_and_update_limit(Username, Term, ActingUser) -> case flatten_errors(rabbit_parameter_validation:proplist( |
