@@ -71,29 +71,18 @@ accept_content(ReqData, Context) ->
7171 rabbit_mgmt_util :bad_request (iolist_to_binary (io_lib :format (F  ++  " ~n "  , A )), ReqData , Context )
7272 end .
7373
74- delete_resource (ReqData , Context   =   # context { user   =   # user { username   =   ActingUser }} ) -> 
74+ delete_resource (ReqData , Context ) -> 
7575 % % We need to retrieve manually if-unused and if-empty, as the HTTP API uses '-'
7676 % % while the record uses '_'
7777 IfUnused  =  <<" true"  >> =:=  rabbit_mgmt_util :qs_val (<<" if-unused"  >>, ReqData ),
7878 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 ).
9786
9887is_authorized (ReqData , Context ) -> 
9988 rabbit_mgmt_util :is_authorized_vhost (ReqData , Context ).
0 commit comments