public override async Task <IActionResult> Broadcast(string hub, [FromBody] PayloadMessage message, [FromQuery(Name = "excluded")] IReadOnlyList <string> excluded)
        {
            if (_store.TryGetLifetimeContext(hub, out var c))
            {
                var clients   = c.ClientManager;
                var arguments = SafeConvertToObjectArray(message);

                await SendAsync(clients.AllExcept(excluded), message.Target, arguments);

                return(Accepted());
            }
            else
            {
                return(NotFound());
            }
        }
Ejemplo n.º 2
0
        public override async Task <IActionResult> Broadcast([RegularExpression(HubPattern)] string hub, [FromBody] PayloadMessage message, [FromQuery(Name = "excluded")] IReadOnlyList <string> excluded)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            if (_store.TryGetLifetimeContext(hub, out var c))
            {
                var clients   = c.ClientManager;
                var arguments = SafeConvertToObjectArray(message);

                await SendAsync(clients.AllExcept(excluded), message.Target, arguments);
            }

            return(Accepted());
        }