@@ -71,31 +71,18 @@ accept_content(ReqData, Context) ->
71
71
rabbit_mgmt_util :bad_request (iolist_to_binary (io_lib :format (F ++ " ~n " , A )), ReqData , Context )
72
72
end .
73
73
74
- delete_resource (ReqData , Context = # context { user = # user { username = ActingUser }} ) ->
74
+ delete_resource (ReqData , Context ) ->
75
75
% % We need to retrieve manually if-unused and if-empty, as the HTTP API uses '-'
76
76
% % while the record uses '_'
77
77
IfUnused = <<" true" >> =:= rabbit_mgmt_util :qs_val (<<" if-unused" >>, ReqData ),
78
78
IfEmpty = <<" true" >> =:= rabbit_mgmt_util :qs_val (<<" if-empty" >>, ReqData ),
79
- VHost = rabbit_mgmt_util :id (vhost , ReqData ),
80
- QName = rabbit_mgmt_util :id (queue , ReqData ),
81
- Name = rabbit_misc :r (VHost , queue , QName ),
82
- case rabbit_amqqueue :lookup (Name ) of
83
- {ok , Q } ->
84
- case rabbit_amqqueue :delete (Q , IfUnused , IfEmpty , ActingUser ) of
85
- {ok , _ } ->
86
- {true , ReqData , Context };
87
- {error , not_empty } ->
88
- Explanation = io_lib :format (" ~ts not empty" , [rabbit_misc :rs (Name )]),
89
- rabbit_log :warning (" Delete queue error: ~ts " , [Explanation ]),
90
- rabbit_mgmt_util :bad_request (list_to_binary (Explanation ), ReqData , Context );
91
- {error , in_use } ->
92
- Explanation = io_lib :format (" ~ts in use" , [rabbit_misc :rs (Name )]),
93
- rabbit_log :warning (" Delete queue error: ~ts " , [Explanation ]),
94
- rabbit_mgmt_util :bad_request (list_to_binary (Explanation ), ReqData , Context )
95
- end ;
96
- {error , not_found } ->
97
- {true , ReqData , Context }
98
- end .
79
+ Name = rabbit_mgmt_util :id (queue , ReqData ),
80
+ rabbit_mgmt_util :direct_request (
81
+ 'queue.delete' ,
82
+ fun rabbit_mgmt_format :format_accept_content /1 ,
83
+ [{queue , Name },
84
+ {if_unused , IfUnused },
85
+ {if_empty , IfEmpty }], " Delete queue error: ~ts " , ReqData , Context ).
99
86
100
87
is_authorized (ReqData , Context ) ->
101
88
rabbit_mgmt_util :is_authorized_vhost (ReqData , Context ).
0 commit comments