public void WhenBuildingUriWithCompanySearchRequest() { var request = new CompanySearchRequest { Query = Query, ItemsPerPage = ItemsPerPage, StartIndex = StartIndex }; _actualUri = _uriBuilder.Build(request); }
public async Task<CompaniesHouseClientResponse<CompanySearch>> SearchCompanyAsync(CompanySearchRequest request, CancellationToken cancellationToken = default(CancellationToken)) { using (var httpClient = _httpClientFactory.CreateHttpClient()) { var requestUri = _companySearchUriBuilder.Build(request); var response = await httpClient.GetAsync(requestUri, cancellationToken).ConfigureAwait(false); response.EnsureSuccessStatusCode(); var result = await response.Content.ReadAsAsync<CompanySearch>(cancellationToken).ConfigureAwait(false); return new CompaniesHouseClientResponse<CompanySearch>(result); } }
public Uri Build(CompanySearchRequest request) { var path = "search/companies"; var query = $"?q={Uri.EscapeDataString(request.Query)}"; if (request.ItemsPerPage.HasValue) { query += "&items_per_page=" + request.ItemsPerPage.Value; } if (request.StartIndex.HasValue) { query += "&start_index=" + request.StartIndex.Value; } var pathAndQuery = path + query; return new Uri(pathAndQuery, UriKind.Relative); }
public Task<CompaniesHouseClientResponse<CompanySearch>> SearchCompanyAsync(CompanySearchRequest request, CancellationToken cancellationToken = default(CancellationToken)) { return _companiesHouseSearchCompanyClient.SearchCompanyAsync(request, cancellationToken); }