public void IsPaginated_NullMetadata_ExpectFalse() { ClientResponseBody <string> responseBody = new ClientResponseBody <string>() { Metadata = null }; bool isPaginated = responseBody.IsPaginated(); Assert.IsFalse(isPaginated); }
public void IsPaginated_WithPaginationData_ExpectTrue() { ClientResponseBody <string> responseBody = new ClientResponseBody <string>() { Metadata = new ClientResponseMetadata() { Pagination = new ClientResponseMetadataPagination() } }; bool isPaginated = responseBody.IsPaginated(); Assert.IsTrue(isPaginated); }
/// <summary> /// Invokes a service request asyncronously /// </summary> /// <param name="request">Instance of ClientRequest object</param> public async Task <ClientResponse <T> > InvokeAsync <T>(ClientRequest request) { HttpRequestMessage requestMessage = GetRequestMessage(request); if (request.Method != ClientRequestMethod.GET && request.Body != null) { string jsonContent = Newtonsoft.Json.JsonConvert.SerializeObject(request.Body); StringContent stringContent = new StringContent(jsonContent, Encoding.UTF8, "application/json"); requestMessage.Content = stringContent; } HttpResponseMessage response = await this.Client.SendAsync(requestMessage); string responseBody = await response.Content.ReadAsStringAsync(); ClientResponseBody <T> body = null; try { body = Newtonsoft.Json.JsonConvert.DeserializeObject <ClientResponseBody <T> >(responseBody, new Newtonsoft.Json.JsonSerializerSettings() { NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore }); } catch { throw new Exception.UKFastClientRequestException((int)response.StatusCode, responseBody); } return(new ClientResponse <T>() { StatusCode = (int)response.StatusCode, Body = body, Headers = response.Headers.ToDictionary(x => x.Key, x => x.Value) }); }