@@ -209,7 +209,8 @@ handle_http_req(<<"DELETE">>,
209
209
fun (Q ) ->
210
210
case rabbit_queue_type :purge (Q ) of
211
211
{ok , NumMsgs } ->
212
- RespPayload = {map , [{{utf8 , <<" message_count" >>}, {ulong , NumMsgs }}]},
212
+ RespPayload = {map , [{{utf8 , <<" message_count" >>},
213
+ {ulong , NumMsgs }}]},
213
214
{<<" 200" >>, RespPayload };
214
215
{error , not_supported } ->
215
216
throw (<<" 400" >>,
@@ -234,7 +235,8 @@ handle_http_req(<<"DELETE">>,
234
235
ok = check_resource_access (QName , configure , User ),
235
236
try rabbit_amqqueue :delete_with (QName , ConnPid , false , false , Username , true ) of
236
237
{ok , NumMsgs } ->
237
- RespPayload = {map , [{{utf8 , <<" message_count" >>}, {ulong , NumMsgs }}]},
238
+ RespPayload = {map , [{{utf8 , <<" message_count" >>},
239
+ {ulong , NumMsgs }}]},
238
240
{<<" 200" >>, RespPayload }
239
241
catch exit :# amqp_error {explanation = Explanation } ->
240
242
throw (<<" 400" >>, Explanation , [])
@@ -343,15 +345,8 @@ decode_queue({map, KVList}) ->
343
345
({{utf8 , <<" auto_delete" >>}, V }, Acc )
344
346
when is_boolean (V ) ->
345
347
Acc #{auto_delete => V };
346
- ({{utf8 , <<" arguments" >>}, {map , List }}, Acc ) ->
347
- Args = lists :map (fun ({{utf8 , Key = <<" x-" , _ /binary >>}, {utf8 , Val }}) ->
348
- {Key , longstr , Val };
349
- (Arg ) ->
350
- throw (<<" 400" >>,
351
- " unsupported queue argument ~tp " ,
352
- [Arg ])
353
- end , List ),
354
- Acc #{arguments => Args };
348
+ ({{utf8 , <<" arguments" >>}, Args }, Acc ) ->
349
+ Acc #{arguments => args_amqp_to_amqpl (Args )};
355
350
(Prop , _Acc ) ->
356
351
throw (<<" 400" >>, " bad queue property ~tp " , [Prop ])
357
352
end , #{}, KVList ),
@@ -442,15 +437,8 @@ decode_exchange({map, KVList}) ->
442
437
({{utf8 , <<" internal" >>}, V }, Acc )
443
438
when is_boolean (V ) ->
444
439
Acc #{internal => V };
445
- ({{utf8 , <<" arguments" >>}, {map , List }}, Acc ) ->
446
- Args = lists :map (fun ({{utf8 , Key = <<" x-" , _ /binary >>}, {utf8 , Val }}) ->
447
- {Key , longstr , Val };
448
- (Arg ) ->
449
- throw (<<" 400" >>,
450
- " unsupported exchange argument ~tp " ,
451
- [Arg ])
452
- end , List ),
453
- Acc #{arguments => Args };
440
+ ({{utf8 , <<" arguments" >>}, Args }, Acc ) ->
441
+ Acc #{arguments => args_amqp_to_amqpl (Args )};
454
442
(Prop , _Acc ) ->
455
443
throw (<<" 400" >>, " bad exchange property ~tp " , [Prop ])
456
444
end , #{}, KVList ),
@@ -471,17 +459,8 @@ decode_binding({map, KVList}) ->
471
459
Acc #{destination_exchange => V };
472
460
({{utf8 , <<" binding_key" >>}, {utf8 , V }}, Acc ) ->
473
461
Acc #{binding_key => V };
474
- ({{utf8 , <<" arguments" >>}, {map , List }}, Acc ) ->
475
- Args = lists :map (fun ({{T , Key }, TypeVal })
476
- when T =:= utf8 orelse
477
- T =:= symbol ->
478
- mc_amqpl :to_091 (Key , TypeVal );
479
- (Arg ) ->
480
- throw (<<" 400" >>,
481
- " unsupported binding argument ~tp " ,
482
- [Arg ])
483
- end , List ),
484
- Acc #{arguments => Args };
462
+ ({{utf8 , <<" arguments" >>}, Args }, Acc ) ->
463
+ Acc #{arguments => args_amqp_to_amqpl (Args )};
485
464
(Field , _Acc ) ->
486
465
throw (<<" 400" >>, " bad binding field ~tp " , [Field ])
487
466
end , #{}, KVList ).
@@ -511,6 +490,17 @@ encode_bindings(Bindings) ->
511
490
end , Bindings ),
512
491
{list , Bs }.
513
492
493
+ args_amqp_to_amqpl ({map , KVList }) ->
494
+ lists :map (fun ({{T , Key }, TypeVal })
495
+ when T =:= utf8 orelse
496
+ T =:= symbol ->
497
+ mc_amqpl :to_091 (Key , TypeVal );
498
+ (Arg ) ->
499
+ throw (<<" 400" >>,
500
+ " unsupported argument ~tp " ,
501
+ [Arg ])
502
+ end , KVList ).
503
+
514
504
args_amqpl_to_amqp (Args ) ->
515
505
{map , [{{utf8 , K }, mc_amqpl :from_091 (T , V )} || {K , T , V } <- Args ]}.
516
506
0 commit comments