public PresenceBatchRequest(ulong[] xuids, PresenceLevel level, bool onlineOnly = false) { if (xuids.Length > 1100) { throw new ArgumentOutOfRangeException("Xuid list > 1100"); } Users = Array.ConvertAll(xuids, x => x.ToString()); OnlineOnly = onlineOnly; Level = level; }
public PresenceResponse GetPresence(ulong xuid, PresenceLevel level = PresenceLevel.All) { PresenceRequestQuery query = new PresenceRequestQuery(level); RestRequestEx request = new RestRequestEx($"users/xuid({xuid})", Method.GET); request.AddHeaders(Headers); request.AddQueryParameters(query.GetQuery()); IRestResponse <PresenceResponse> response = HttpClient.Execute <PresenceResponse>(request); return(response.Data); }
public async Task <PresenceResponse> GetPresenceAsync(ulong xuid, PresenceLevel level = PresenceLevel.All) { PresenceRequestQuery query = new PresenceRequestQuery(level); var request = new HttpRequestMessage(HttpMethod.Get, $"users/xuid({xuid})"); request.Headers.Add(Headers); request.AddQueryParameter(query.GetQuery()); var response = await HttpClient.SendAsync(request); return(await response.Content.ReadAsJsonAsync <PresenceResponse>()); }
public PresenceBatchResponse GetPresenceBatch(ulong[] xuids, PresenceLevel level = PresenceLevel.All, bool onlineOnly = false) { PresenceBatchRequest body = new PresenceBatchRequest(xuids, level, onlineOnly); RestRequestEx request = new RestRequestEx("users/batch", Method.POST); request.AddHeaders(Headers); request.AddJsonBody(body, JsonNamingStrategy.CamelCase); IRestResponse <PresenceBatchResponse> response = HttpClient.Execute <PresenceBatchResponse>(request); return(response.Data); }
public async Task <PresenceBatchResponse> GetPresenceBatchAsync(ulong[] xuids, PresenceLevel level = PresenceLevel.All, bool onlineOnly = false) { PresenceBatchRequest body = new PresenceBatchRequest(xuids, level, onlineOnly); var request = new HttpRequestMessage(HttpMethod.Post, "users/batch"); request.Headers.Add(Headers); request.Content = new JsonContent(body, JsonNamingStrategy.CamelCase); var response = await HttpClient.SendAsync(request); return(await response.Content.ReadAsJsonAsync <PresenceBatchResponse>()); }
public PresenceRequestQuery(PresenceLevel level) { Level = level; }