summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_access_control.erl17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/rabbit_access_control.erl b/src/rabbit_access_control.erl
index 4dff2dbede..bacc442f53 100644
--- a/src/rabbit_access_control.erl
+++ b/src/rabbit_access_control.erl
@@ -178,17 +178,14 @@ check_access(Fun, Module, ErrStr, ErrArgs) ->
check_access(Fun, Module, ErrStr, ErrArgs, access_refused).
check_access(Fun, Module, ErrStr, ErrArgs, ErrName) ->
- Allow = case Fun() of
- {error, E} ->
- rabbit_log:error(ErrStr ++ " by ~s: ~p~n",
- ErrArgs ++ [Module, E]),
- false;
- Else ->
- Else
- end,
- case Allow of
+ case Fun() of
true ->
ok;
false ->
- rabbit_misc:protocol_error(ErrName, ErrStr, ErrArgs)
+ rabbit_misc:protocol_error(ErrName, ErrStr, ErrArgs);
+ {error, E} ->
+ FullErrStr = ErrStr ++ " by ~s: ~p~n",
+ FullErrArgs = ErrArgs ++ [Module, E],
+ rabbit_log:error(FullErrStr, FullErrArgs),
+ rabbit_misc:protocol_error(ErrName, FullErrStr, FullErrArgs)
end.