private TriggerBody CreateTriggerBody(string[] channelNames, string eventName, object data, ITriggerOptions options) { ValidationHelper.ValidateChannelNames(channelNames); ValidationHelper.ValidateSocketId(options.SocketId); TriggerBody bodyData = new TriggerBody() { name = eventName, data = _options.JsonSerializer.Serialize(data), channels = channelNames }; string channelName = null; if (channelNames != null && channelNames.Length > 0) { channelName = channelNames[0]; } ValidationHelper.ValidateBatchEventData(bodyData.data, channelName, eventName, _options); if (string.IsNullOrEmpty(options.SocketId) == false) { bodyData.socket_id = options.SocketId; } return(bodyData); }
private TriggerBody CreateTriggerBody(string[] channelNames, string eventName, object data, ITriggerOptions options) { ValidationHelper.ValidateChannelNames(channelNames); ValidationHelper.ValidateSocketId(options.SocketId); TriggerBody bodyData = new TriggerBody() { name = eventName, data = _options.JsonSerializer.Serialize(data), channels = channelNames }; if (string.IsNullOrEmpty(options.SocketId) == false) { bodyData.socket_id = options.SocketId; } return(bodyData); }
/// <summary> /// Triggers an event on the specified channels. /// </summary> /// <param name="channelNames"></param> /// <param name="eventName">The name of the event.</param> /// <param name="data">The data to be sent with the event. The event payload.</param> /// <param name="options">Additional options to be used when triggering the event. See <see cref="ITriggerOptions" />.</param> /// <returns>The result of the call to the REST API</returns> public ITriggerResult Trigger(string[] channelNames, string eventName, object data, ITriggerOptions options) { TriggerBody bodyData = new TriggerBody() { name = eventName, data = BodySerializer.Serialize(data), channels = channelNames }; if (string.IsNullOrEmpty(options.SocketId) == false) { bodyData.socket_id = options.SocketId; } IRestResponse response = ExecuteTrigger(channelNames, eventName, bodyData); TriggerResult result = new TriggerResult(response); return(result); }