100
102
%%--------------------------------------------------------------------
102
104
accept(Body, ReqData, Context) ->
103
rabbit_mgmt_util:with_decode(
104
[users, vhosts, permissions, queues, exchanges, bindings],
105
Body, ReqData, Context,
106
fun([Users, VHosts, Permissions, Queues, Exchanges, Bindings], _) ->
108
for_all(Users, fun add_user/1),
109
for_all(VHosts, fun add_vhost/1),
110
for_all(Permissions, fun add_permission/1),
111
for_all(Queues, fun add_queue/1),
112
for_all(Exchanges, fun add_exchange/1),
113
for_all(Bindings, fun add_binding/1),
114
{true, ReqData, Context}
117
rabbit_mgmt_util:bad_request(E, ReqData, Context)
105
apply_defs(Body, fun() -> {true, ReqData, Context} end,
106
fun(E) -> rabbit_mgmt_util:bad_request(E, ReqData, Context) end).
108
apply_defs(Body, SuccessFun, ErrorFun) ->
109
case rabbit_mgmt_util:decode(
110
[users, vhosts, permissions, queues, exchanges, bindings], Body) of
113
{ok, [Users, VHosts, Permissions, Queues, Exchanges, Bindings], _} ->
115
for_all(Users, fun add_user/1),
116
for_all(VHosts, fun add_vhost/1),
117
for_all(Permissions, fun add_permission/1),
118
for_all(Queues, fun add_queue/1),
119
for_all(Exchanges, fun add_exchange/1),
120
for_all(Bindings, fun add_binding/1),
122
catch {error, E} -> ErrorFun(E);
123
exit:E -> ErrorFun(E)
121
127
get_part(Name, Parts) ->
122
128
Filtered = [Value || {N, _Meta, Value} <- Parts, N == Name],