diff options
author | Ayanda Dube <ayanda.dube@8x8.com> | 2021-09-24 18:05:16 +0100 |
---|---|---|
committer | Ayanda Dube <ayanda.dube@8x8.com> | 2021-09-24 18:15:36 +0100 |
commit | fb0b1ec75a78ace146d32a2f842dfd4c79db8dcc (patch) | |
tree | 73294752a176a2c9519c96125f62f802fa23ec06 | |
parent | 35a1a364bda3c9fd0f76432f49fd44398c65f88b (diff) | |
download | rabbitmq-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.erl | 68 |
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). |