summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@lshift.net>2009-01-16 21:29:52 +0000
committerMatthias Radestock <matthias@lshift.net>2009-01-16 21:29:52 +0000
commit611d8f00e7b1664ff9a69e3d91abff0fbe1191a3 (patch)
treea58554104e676a1e00ad9f999a59bc9916c360cc /src
parent4bb5b5cc0ec57db39331340eb2e60e2cc1c13249 (diff)
downloadrabbitmq-server-git-611d8f00e7b1664ff9a69e3d91abff0fbe1191a3.tar.gz
better docs and error handling
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_control.erl29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl
index d897b3e9f8..4d771871a2 100644
--- a/src/rabbit_control.erl
+++ b/src/rabbit_control.erl
@@ -114,7 +114,7 @@ Available commands:
delete_vhost <VHostPath>
list_vhosts
- set_permissions [-p <VHostPath>] <UserName> <Permission> <Permission>
+ set_permissions [-p <VHostPath>] <UserName> <Regexp> <Regexp>
clear_permissions [-p <VHostPath>] <UserName>
list_user_vhosts <UserName>
list_vhost_users <VHostPath>
@@ -223,18 +223,6 @@ action(list_vhosts, Node, [], Inform) ->
Inform("Listing vhosts", []),
display_list(call(Node, {rabbit_access_control, list_vhosts, []}));
-action(set_permissions, Node, Args, Inform) ->
- {VHost, [Username, ConfigurationPerm, MessagingPerm]} =
- parse_vhost_flag(Args),
- Inform("Setting permissions for user ~p in vhost ~p", [Username, VHost]),
- call(Node, {rabbit_access_control, set_permissions,
- [Username, VHost, ConfigurationPerm, MessagingPerm]});
-
-action(clear_permissions, Node, Args, Inform) ->
- {VHost, [Username]} = parse_vhost_flag(Args),
- Inform("Clearing permissions for user ~p in vhost ~p", [Username, VHost]),
- call(Node, {rabbit_access_control, clear_permissions, [Username, VHost]});
-
action(list_user_vhosts, Node, Args = [_Username], Inform) ->
Inform("Listing vhosts for user ~p", Args),
display_list(call(Node, {rabbit_access_control, list_user_vhosts, Args}));
@@ -276,7 +264,20 @@ action(list_connections, Node, Args, Inform) ->
default_if_empty(Args, [user, peer_address, peer_port])),
display_info_list(rpc_call(Node, rabbit_networking, connection_info_all,
[ArgAtoms]),
- ArgAtoms).
+ ArgAtoms);
+
+action(Command, Node, Args, Inform) ->
+ {VHost, RemainingArgs} = parse_vhost_flag(Args),
+ action(Command, Node, VHost, RemainingArgs, Inform).
+
+action(set_permissions, Node, VHost, [Username, CPerm, MPerm], Inform) ->
+ Inform("Setting permissions for user ~p in vhost ~p", [Username, VHost]),
+ call(Node, {rabbit_access_control, set_permissions,
+ [Username, VHost, CPerm, MPerm]});
+
+action(clear_permissions, Node, VHost, [Username], Inform) ->
+ Inform("Clearing permissions for user ~p in vhost ~p", [Username, VHost]),
+ call(Node, {rabbit_access_control, clear_permissions, [Username, VHost]}).
parse_vhost_flag(Args) when is_list(Args) ->
case Args of