@@ -71,29 +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
- IsExclusive = amqqueue :is_exclusive (Q ),
85
- ExclusiveOwnerPid = amqqueue :get_exclusive_owner (Q ),
86
- try rabbit_amqqueue :delete_with (Q , ExclusiveOwnerPid , IfUnused , IfEmpty , ActingUser , IsExclusive ) of
87
- {ok , _ } ->
88
- {true , ReqData , Context }
89
- catch
90
- _ :# amqp_error {explanation = Explanation } ->
91
- rabbit_log :warning (" Delete queue error: ~ts " , [Explanation ]),
92
- rabbit_mgmt_util :bad_request (list_to_binary (Explanation ), ReqData , Context )
93
- end ;
94
- {error , not_found } ->
95
- {true , ReqData , Context }
96
- 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 ).
97
86
98
87
is_authorized (ReqData , Context ) ->
99
88
rabbit_mgmt_util :is_authorized_vhost (ReqData , Context ).
0 commit comments