public GetStreamsRequest(string token, GetStreamsParams options) : base("GET", $"streams", token) { if (options.Channels != null) { Parameters.Add("channels", string.Join(",", options.Channels)); } if (options.Game != null) { Parameters.Add("game", options.Game); } if (options.Language != null) { Parameters.Add("language", options.Language); } string value = null; switch (options.Type) { case StreamType.All: value = "all"; break; case StreamType.Live: value = "live"; break; case StreamType.Playlist: value = "playlist"; break; } Parameters.Add("type", value); Parameters.Add("limit", options.Limit); Parameters.Add("offset", options.Offset); }
public GetStreamsRequest(GetStreamsParams parameters, PageOptions paging) : base("GET", "streams") { if (parameters.ChannelIds != null) { Parameters.Add("channel", string.Join(",", parameters.ChannelIds)); } if (parameters.Game != null) { Parameters.Add("game", parameters.Game); } if (parameters.Language != null) { Parameters.Add("language", parameters.Language); } Parameters.Add("type", parameters.Type.ToString().ToLower()); Parameters.Add("limit", paging.Limit); Parameters.Add("offset", paging.Offset); }
public async Task <StreamCollection> GetStreamsAsync(GetStreamsParams parameters, PageOptions paging, RequestOptions options) { paging = PageOptions.CreateOrClone(paging); options = RequestOptions.CreateOrClone(options); return(await SendAsync <StreamCollection>(new GetStreamsRequest(parameters, paging), options).ConfigureAwait(false)); }
internal async Task <StreamCollection> GetStreamsInternalAsync(string token, GetStreamsParams changes) { var response = await SendAsync(new GetStreamsRequest(token, changes)); return(response.GetBodyAsType <StreamCollection>()); }