/// <summary> /// Sends GET request for any kinds of products in Steam store. /// Request can be cancelled by providing cancellation token. /// </summary> /// <param name="products">What products to include</param> /// <param name="callSize">Call size</param> /// <param name="cToken">Cancellation token</param> /// <returns>SteamProductResponse object</returns> public async Task <SteamProductsResponse> GetSteamProductsAsync(IncludeProducts products, ProductCallSize callSize = ProductCallSize.Default, CToken cToken = default) { if (products.Equals(IncludeProducts.None)) { return(new SteamProductsResponse() { Successful = false }); } else { bool callAll = CallSizeToString(callSize, out string size); CreateProductUrl(products, size); string originalUrl = UrlBuilder.GetEncodedUrl(); SteamProductsResponse result = null; Exception exception = null; if (callAll) { (result, exception) = await GetAllProducts(result, exception, cToken); } else { (result, exception) = await GetProducts(result, exception, cToken); } return(WrapResponse(result, originalUrl, exception)); } }
/// <summary> /// Creates URL for GetSteamProducts-method. /// </summary> /// <returns>UrlBuilder object</returns> private void CreateProductUrl(IncludeProducts products, string count) { UrlBuilder.Host = HOST; UrlBuilder.AppendPath(ISTORE_SERVICE, "GetAppList", "v1"); UrlBuilder.AppendQuery("key", ApiKey) .AppendQuery("max_results", count) .AppendQuery("include_games", products.HasFlag(IncludeProducts.Games) ? "1" : "0") .AppendQuery("include_dlc", products.HasFlag(IncludeProducts.DLC) ? "1" : "0") .AppendQuery("include_software", products.HasFlag(IncludeProducts.Software) ? "1" : "0") .AppendQuery("include_hardware", products.HasFlag(IncludeProducts.Harware) ? "1" : "0") .AppendQuery("include_videos", products.HasFlag(IncludeProducts.Videos) ? "1" : "0"); }
public void MultipleProductTypes_ReturnsRequestedSteamProducts(IncludeProducts products) { var response = SteamApiClient.GetSteamProductsAsync(products) .Result; SleepAfterSendingRequest(); Assert.NotEmpty(response.Contents); Assert.All(response.Contents, product => { Assert.True(product.AppId != 0); Assert.True(product.LastModified != 0); }); }
public void Save(ISiteMapOptionKeys settingKeys) { if (IsDirty) { StoreSettingCollection settings = Token.Instance.Store.Settings; settings.SetValueByKey(settingKeys.CompressedSiteMapFileName, CompressedSiteMapFileName); settings.SetValueByKey(settingKeys.SiteMapDataPath, SiteMapDataPath); settings.SetValueByKey(settingKeys.SiteMapFileName, SiteMapFileName); settings.SetValueByKey(settingKeys.IncludeProducts, IncludeProducts.ToString()); settings.SetValueByKey(settingKeys.IncludeCategories, IncludeCategories.ToString()); settings.SetValueByKey(settingKeys.IncludeWebpages, IncludeWebpages.ToString()); settings.SetValueByKey(settingKeys.OverwriteCompressedFile, OverwriteCompressedFile.ToString()); settings.SetValueByKey(settingKeys.OverwriteSiteMapFile, OverwriteSiteMapFile.ToString()); settings.SetValueByKey(settingKeys.DefaultChangeFrequency, DefaultChangeFrequency.ToString()); settings.SetValueByKey(settingKeys.DefaultUrlPriority, DefaultUrlPriority.ToString()); settings.Save(); } }