diff options
| author | Matthias Radestock <matthias@lshift.net> | 2009-01-16 21:29:52 +0000 |
|---|---|---|
| committer | Matthias Radestock <matthias@lshift.net> | 2009-01-16 21:29:52 +0000 |
| commit | 611d8f00e7b1664ff9a69e3d91abff0fbe1191a3 (patch) | |
| tree | a58554104e676a1e00ad9f999a59bc9916c360cc /src | |
| parent | 4bb5b5cc0ec57db39331340eb2e60e2cc1c13249 (diff) | |
| download | rabbitmq-server-git-611d8f00e7b1664ff9a69e3d91abff0fbe1191a3.tar.gz | |
better docs and error handling
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_control.erl | 29 |
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 |
