summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAyanda Dube <ayanda.dube@8x8.com>2021-09-24 18:05:16 +0100
committerAyanda Dube <ayanda.dube@8x8.com>2021-09-24 18:15:36 +0100
commitfb0b1ec75a78ace146d32a2f842dfd4c79db8dcc (patch)
tree73294752a176a2c9519c96125f62f802fa23ec06
parent35a1a364bda3c9fd0f76432f49fd44398c65f88b (diff)
downloadrabbitmq-server-git-fb0b1ec75a78ace146d32a2f842dfd4c79db8dcc.tar.gz
Remove code repetion in rabbit_auth_backend_internal catch statements
by matching and reusing the raised exception class
-rw-r--r--deps/rabbit/src/rabbit_auth_backend_internal.erl68
1 files changed, 18 insertions, 50 deletions
diff --git a/deps/rabbit/src/rabbit_auth_backend_internal.erl b/deps/rabbit/src/rabbit_auth_backend_internal.erl
index 96c1a620b7..d94526270a 100644
--- a/deps/rabbit/src/rabbit_auth_backend_internal.erl
+++ b/deps/rabbit/src/rabbit_auth_backend_internal.erl
@@ -234,12 +234,9 @@ add_user_sans_validation(Username, Password, ActingUser) ->
throw:{error, {user_already_exists, _}} = Error ->
rabbit_log:warning("Failed to add user '~s': the user already exists", [Username]),
throw(Error);
- throw:Error ->
+ Class:Error ->
rabbit_log:warning("Failed to add user '~s': ~p", [Username, Error]),
- throw(Error);
- exit:Error ->
- rabbit_log:warning("Failed to add user '~s': ~p", [Username, Error]),
- exit(Error)
+ erlang:Class(Error)
end .
-spec delete_user(rabbit_types:username(), rabbit_types:username()) -> 'ok'.
@@ -275,12 +272,9 @@ delete_user(Username, ActingUser) ->
throw:{error, {no_such_user, _}} = Error ->
rabbit_log:warning("Failed to delete user '~s': the user does not exist", [Username]),
throw(Error);
- throw:Error ->
- rabbit_log:warning("Failed to delete user '~s': ~p", [Username, Error]),
- throw(Error);
- exit:Error ->
+ Class:Error ->
rabbit_log:warning("Failed to delete user '~s': ~p", [Username, Error]),
- exit(Error)
+ erlang:Class(Error)
end .
-spec lookup_user
@@ -323,12 +317,9 @@ change_password_sans_validation(Username, Password, ActingUser) ->
throw:{error, {no_such_user, _}} = Error ->
rabbit_log:warning("Failed to change password for user '~s': the user does not exist", [Username]),
throw(Error);
- throw:Error ->
- rabbit_log:warning("Failed to change password for user '~s': ~p", [Username, Error]),
- throw(Error);
- exit:Error ->
+ Class:Error ->
rabbit_log:warning("Failed to change password for user '~s': ~p", [Username, Error]),
- exit(Error)
+ erlang:Class(Error)
end.
-spec clear_password(rabbit_types:username(), rabbit_types:username()) -> 'ok'.
@@ -377,12 +368,9 @@ set_tags(Username, Tags, ActingUser) ->
throw:{error, {no_such_user, _}} = Error ->
rabbit_log:warning("Failed to set tags for user '~s': the user does not exist", [Username]),
throw(Error);
- throw:Error ->
+ Class:Error ->
rabbit_log:warning("Failed to set tags for user '~s': ~p", [Username, Error]),
- throw(Error);
- exit:Error ->
- rabbit_log:warning("Failed to set tags for user '~s': ~p", [Username, Error]),
- exit(Error)
+ erlang:Class(Error)
end .
-spec set_permissions
@@ -440,14 +428,10 @@ set_permissions(Username, VirtualHost, ConfigurePerm, WritePerm, ReadPerm, Actin
rabbit_log:warning("Failed to set permissions for '~s': the user does not exist",
[Username]),
throw(Error);
- throw:Error ->
- rabbit_log:warning("Failed to set permissions for '~s' in virtual host '~s': ~p",
- [Username, VirtualHost, Error]),
- throw(Error);
- exit:Error ->
+ Class:Error ->
rabbit_log:warning("Failed to set permissions for '~s' in virtual host '~s': ~p",
[Username, VirtualHost, Error]),
- exit(Error)
+ erlang:Class(Error)
end.
-spec clear_permissions
@@ -480,14 +464,10 @@ clear_permissions(Username, VirtualHost, ActingUser) ->
rabbit_log:warning("Failed to clear permissions for '~s': the user does not exist",
[Username]),
throw(Error);
- throw:Error ->
+ Class:Error ->
rabbit_log:warning("Failed to clear permissions for '~s' in virtual host '~s': ~p",
[Username, VirtualHost, Error]),
- throw(Error);
- exit:Error ->
- rabbit_log:warning("Failed to clear permissions for '~s' in virtual host '~s': ~p",
- [Username, VirtualHost, Error]),
- exit(Error)
+ erlang:Class(Error)
end.
@@ -557,14 +537,10 @@ set_topic_permissions(Username, VirtualHost, Exchange, WritePerm, ReadPerm, Acti
rabbit_log:warning("Failed to set topic permissions on exchange '~s' for '~s': the user does not exist.",
[Exchange, Username]),
throw(Error);
- throw:Error ->
- rabbit_log:warning("Failed to set topic permissions on exchange '~s' for '~s' in virtual host '~s': ~p.",
- [Exchange, Username, VirtualHost, Error]),
- throw(Error);
- exit:Error ->
+ Class:Error ->
rabbit_log:warning("Failed to set topic permissions on exchange '~s' for '~s' in virtual host '~s': ~p.",
[Exchange, Username, VirtualHost, Error]),
- exit(Error)
+ erlang:Class(Error)
end .
clear_topic_permissions(Username, VirtualHost, ActingUser) ->
@@ -596,14 +572,10 @@ clear_topic_permissions(Username, VirtualHost, ActingUser) ->
rabbit_log:warning("Failed to clear topic permissions for '~s': the user does not exist",
[Username]),
throw(Error);
- throw:Error ->
+ Class:Error ->
rabbit_log:warning("Failed to clear topic permissions for '~s' in virtual host '~s': ~p",
[Username, VirtualHost, Error]),
- throw(Error);
- exit:Error ->
- rabbit_log:warning("Failed to clear topic permissions for '~s' in virtual host '~s': ~p",
- [Username, VirtualHost, Error]),
- exit(Error)
+ erlang:Class(Error)
end.
clear_topic_permissions(Username, VirtualHost, Exchange, ActingUser) ->
@@ -637,14 +609,10 @@ clear_topic_permissions(Username, VirtualHost, Exchange, ActingUser) ->
rabbit_log:warning("Failed to clear topic permissions on exchange '~s' for '~s': the user does not exist",
[Exchange, Username]),
throw(Error);
- throw:Error ->
- rabbit_log:warning("Failed to clear topic permissions on exchange '~s' for '~s' in virtual host '~s': ~p",
- [Exchange, Username, VirtualHost, Error]),
- throw(Error);
- exit:Error ->
+ Class:Error ->
rabbit_log:warning("Failed to clear topic permissions on exchange '~s' for '~s' in virtual host '~s': ~p",
[Exchange, Username, VirtualHost, Error]),
- exit(Error)
+ erlang:Class(Error)
end.
put_user(User, ActingUser) -> put_user(User, undefined, ActingUser).