public IEnumerable <Post> GetPosts(int limit) { var posts = new List <Post>(); var validator = _validatorFactory.GetValidator <Post>(); // Get ids of top stories var ids = _httpClientWrapper.Get <List <int> >(TopStoriesUri).GetRange(0, limit); // Load each item for (int i = 0; i < ids.Count; i++) { //TODO: make this async and run in parallel var item = _httpClientWrapper.Get <HackerNewsItem>($"{ItemBaseUrl}/{ids[i]}.json"); // Map to post - could use Automapper here but it's easier to do it manually here with the index/ranking var post = new Post() { Author = item.By, Comments = item.Descendants, Points = item.Score, Rank = i + 1, //Items are already sorted when we retrieve them Title = item.Title, Uri = item.Url }; // Add only if pass validation if (validator.Validate(post).IsValid) { posts.Add(post); } } return(posts); }
public async Task <List <BuildConfigSummary> > GetAll() { string requestUri = "/app/rest/buildTypes"; List <BuildConfigSummary> buildConfigs = await _http.Get <List <BuildConfigSummary> >(requestUri); return(buildConfigs); }
public async Task <IEnumerable <RevenueObjectBasedAssessmentEventDto> > ListAsync(int assessmentEventId) { assessmentEventId.ThrowBadRequestExceptionIfInvalid("AssessmentEventId"); return(await _httpClientWrapper.Get <List <RevenueObjectBasedAssessmentEventDto> >( _applicationSettingsHelper.AssessmentEventServiceApiUrl, $"{Version}/AssessmentEvents/{assessmentEventId}/RevenueObjectBasedAssessmentEvents")); }
public async Task<EmpRefLevyInformation> GetEmprefInformation(string authToken, string empRef) { return await _executionPolicy.ExecuteAsync(async () => { var url = $"apprenticeship-levy/epaye/{HttpUtility.UrlEncode(empRef)}"; return await _httpClientWrapper.Get<EmpRefLevyInformation>(authToken, url); }); }
public async Task <DadJokesViewModel> GetDadJokesBySearchTerm(string searchTerm) { var searchUrl = $"{_serviceUrl}/search?term={searchTerm}&limit={_limit}"; var dadJokeResponseMessage = await _httpClient.Get(searchUrl); var dadJokes = await ProcessDadJokesList(dadJokeResponseMessage, searchTerm); return(dadJokes); }
public List <Photo> GetPhotos() { try { var result = _httpClientWrapper.Get($"{_config.Value.PhotoAlbumBaseAddress}/photos"); return(JsonConvert.DeserializeObject <List <Photo> >(result)); } catch (Exception) { return(new List <Photo>()); } }
public async Task <CompanyInformation> GetInformation(string id) { return(await _executionPolicy.ExecuteAsync(async() => { _logger.Info($"GetInformation({id})"); id = id?.ToUpper(); var result = await _httpClientWrapper.Get <CompanyInformation>( $"{Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(_configuration.CompaniesHouse.ApiKey))}", $"{_configuration.CompaniesHouse.BaseUrl}/company/{id}"); return result; })); }
private void GetUsers(bool useCache) { IEnumerable <User> users = null; if (useCache) { users = this.cache.Get <IEnumerable <User> >("users"); } if (users == null) { users = client.Get <IEnumerable <User> >("api/users").Item1; } Users = users; }
/* ASYNC ACTION METHOD... IF REQUIRED... */ // public async Task<ViewResult> Index() // { // } public ViewResult Index() { var questionnaire = httpClientWrapper.Get("http://localhost/QuestionServiceWebApi/api/Questions/Get"); var model = new JavaScriptSerializer().Deserialize <QuestionnaireViewModel>(questionnaire); return(View(model)); }
public void OnPost() { var startTime = DateTime.Now; Cluster = client.Get <Cluster>($"api/hierarchicalclustering?usecache={UseCache}").Item1; Duration = DateTime.Now - startTime; }
public async Task <List <File> > GetFiles() { List <File> files = await _http.Get <List <File> >(Href); files.ForEach(x => x.Initialize(_http)); return(files); }
public void OnPost() { var startTime = DateTime.Now; Cluster = client.Get <IEnumerable <Centroid> >( $"api/kmeansclustering?numberofclusters={NumberOfClusters}&numberofiterations={NumberOfIterations}").Item1; Duration = DateTime.Now - startTime; }
public async Task <(IEnumerable <TransactionDto> transactions, Error error)> GetTransactions(string accountNumber) { JToken transactionsJobject = JToken.Parse((await _httpClientWrapper.Get($"http://fairwaybank-bizfitech.azurewebsites.net/api/v1/accounts/{accountNumber}/transactions"))); if (transactionsJobject is JObject) { return(null, new Error(transactionsJobject.Value <string>("message"))); } var transactions = ((JArray)transactionsJobject).Select(x => new TransactionDto { Amount = x.Value <decimal>("amount") * (x.Value <string>("type") == "Credit" ? 1 : -1), ClearedDate = x.Value <DateTime>("bookedDate"), Merchant = x.Value <string>("transactionInformation") }); return(transactions, null); }
public async Task <List <string> > ScrapeUrls(string domain, string url) { var fullUrl = $"https://{domain}{url}"; var webPageContent = await _httpClientWrapper.Get(fullUrl); var urls = _urlExtractor.ExtractUrlsFromPage(webPageContent); urls = _urlFilter.Filter(domain, urls); return(urls); }
public async Task Returns_response_from_http_client_when_authenticated(string expectedResponse) { _httpClientWrapper .Get(Arg.Is("web-address"), Arg.Any <IDictionary <string, string> >()) .Returns(AuthorizedResponse(expectedResponse)); var result = await _sut.GetAsync <JsonResponse>("web-address"); Assert.That(result.Value, Is.EqualTo(expectedResponse)); }
private async Task <HalPage <T> > GetPage <T>(string pageUrl) { var response = await _httpClientWrapper.Get(pageUrl); if (response == null) { return(null); } var page = JsonConvert.DeserializeObject <HalPage <T> >(response); return(page); }
public async Task <List <File> > GetChildren() { if (ChildrenHref == null) { return(new List <File>()); } List <File> files = await _http.Get <List <File> >(ChildrenHref); files.ForEach(file => file.Initialize(_http)); return(files); }
private async Task <T> CallAuthService <T>(long accountId, Action <Exception> OnError = null) { var accessToken = await _azureAdAuthService.GetAuthenticationResult( _apiClientConfiguration.ClientId, _apiClientConfiguration.ClientSecret, _apiClientConfiguration.IdentifierUri, _apiClientConfiguration.Tenant); try { return(await _httpClient.Get <T>(accessToken, GetUrl(typeof(T), accountId))); } catch (ResourceNotFoundException ex) { OnError?.Invoke(ex); _logger.Error(ex, $"ResourceNotFoundException returned from forecast API for account ID: {accountId}"); return(default(T)); } catch (HttpException ex) { OnError?.Invoke(ex); switch (ex.StatusCode) { case 400: _logger.Error(ex, $"Bad request sent to forecast API for account ID: {accountId}"); break; case 408: _logger.Error(ex, $"Request sent to forecast API for account ID: {accountId} timed out"); break; case 429: _logger.Error(ex, $"To many requests sent to forecast API for account ID: {accountId}"); break; case 500: _logger.Error(ex, $"Forecast API reported internal Server error for account ID: {accountId}"); break; case 503: _logger.Error(ex, "Forecast API is unavailable"); break; default: throw; } return(default(T)); } }
public async Task <Build> ById(long id) { string requestUri = string.Format("/app/rest/builds/id:{0}", id); var build = await _http.Get <Build>(requestUri); build.ArtifactsReference.Initialize(_http); return(build); }
/// <summary> /// get the share price for a particular symbol. /// </summary> /// <param name="Url"></param> /// <param name="symbol"></param> /// <param name="apiKey"></param> /// <returns></returns> public async Task <ShareViewModel> getSharePrice(AppSettings settings, double amount) { decimal sharePriceCents; var url = settings.AlphavantageApiUrl + $"&symbol={settings.Symbol}&apikey={settings.ApiKey}"; var result = await _httpclientWrapper.Get(url); dynamic data = JObject.Parse(result.ToString()); string value = data["Global Quote"]["05. price"].Value; sharePriceCents = Decimal.Parse(!string.IsNullOrEmpty(value) ? value.Substring(0, value.IndexOf('.')) : "0"); double sharePriceRands = ((double)sharePriceCents * 1.0) / 100; return(new ShareViewModel() { SharePrice = sharePriceRands, NumberOfShares = amount / (sharePriceRands * 1.0) }); }
public void OnPost() { if (string.IsNullOrWhiteSpace(SearchQuery)) { return; } var query = string.Join('+', SearchQuery.Split(' ', StringSplitOptions.RemoveEmptyEntries)); var requestUri = $"api/search?query={query}&take=5&applypageranking={ApplyPageRanking}"; var startTime = DateTime.Now; var result = client.Get <IEnumerable <ScoredPage> >(requestUri); Duration = DateTime.Now - startTime; if (result.Item2 == System.Net.HttpStatusCode.OK) { ScoredPages = result.Item1; } }
public async Task <IEnumerable <GrmEventInformationDto> > GetAsync(int revenueObjectId, DateTime asOf) { return((await _httpClientWrapper.Get <IEnumerable <GrmEventInformationDto> >(Url, $"{Version}/GrmEvents/GrmEventInformation/RevObjId/{revenueObjectId}/EffectiveDate/{asOf:yyyy-MM-dd}")).ToList()); }
private async Task <T> GetResource <T>(string path) { var finalUrl = UrlConstructor.ConstructUri(path); return(await _httpClientWrapper.Get <T>(finalUrl)); }
public async Task <VcsRootInstance> ById(string id) { string requestUri = $"/app/rest/vcs-root-instances/id:{id}"; return(await _http.Get <VcsRootInstance>(requestUri)); }
public async Task <BaseValueSegmentDto> GetAsync(int baseValueSegmentId) { return(await _httpClientWrapper.Get <BaseValueSegmentDto>(Url, $"{Version}/BaseValueSegments/{baseValueSegmentId}")); }
public async Task <T> GetAsync <T>(string url) { var headers = GetHeaders(); return(await CallApi <T>(headers, () => _httpClientWrapper.Get(url, headers))); }
public Task <Result <Image, Error> > ReplaceAsync(Name galleryName, Id imageId, string url, Option <byte[]> meta) { return(_httpClient.Get(url).AndThenAsync(data => ReplaceAsync(galleryName, imageId, data, meta))); }
public void OnGet() { Users = client.Get <IEnumerable <User> >("api/users").Item1; }
public async Task<List<ProjectSummary>> GetAll() { var projects = await _http.Get<List<ProjectSummary>>(_baseUri); return projects; }
public async Task <VcsRoot> ById(string id) { string requestUri = string.Format("/app/rest/vcs-roots/id:{0}", id); return(await _http.Get <VcsRoot>(requestUri)); }