/// <summary> /// Removes a router with it's bindings /// </summary> private async Task RemoveRouter(MqClient client, HorseMessage message) { IRouter found = _server.FindRouter(message.Target); if (found == null) { await client.SendAsync(message.CreateResponse(HorseResultCode.Ok)); return; } //check create queue access foreach (IClientAuthorization authorization in _server.Authorizations) { bool grant = await authorization.CanRemoveRouter(client, found); if (!grant) { await client.SendAsync(message.CreateResponse(HorseResultCode.Unauthorized)); return; } } _server.RemoveRouter(found); await client.SendAsync(message.CreateResponse(HorseResultCode.Ok)); }