Skip to content

Commit ae11867

Browse files
author
babelshift
committed
Re-arrange parameters in AddToParameters helper methods.
Use ConfigureAwait(false) on bottom async method in GetStringAsync (when using HttpClient). Adding comments to some classes. Added a SteamId class which handles representation and conversion between all SteamId formats.
1 parent 9b3cab8 commit ae11867

16 files changed

Lines changed: 471 additions & 136 deletions

SteamWebAPI2/Interfaces/DOTA2Econ.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public async Task<IReadOnlyCollection<GameItem>> GetGameItemsAsync(string langua
2929
{
3030
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
3131

32-
AddToParametersIfHasValue("language", language, parameters);
32+
AddToParametersIfHasValue(language, "language", parameters);
3333

3434
var gameItems = await CallMethodAsync<GameItemResultContainer>("GetGameItems", 1);
3535
return new ReadOnlyCollection<GameItem>(gameItems.Result.Items);
@@ -41,8 +41,8 @@ public async Task<IReadOnlyCollection<Hero>> GetHeroesAsync(string language = ""
4141

4242
int itemizedOnlyValue = itemizedOnly ? 1 : 0;
4343

44-
AddToParametersIfHasValue("language", language, parameters);
45-
AddToParametersIfHasValue("itemizedonly", itemizedOnlyValue, parameters);
44+
AddToParametersIfHasValue(language, "language", parameters);
45+
AddToParametersIfHasValue(itemizedOnlyValue, "itemizedonly", parameters);
4646

4747
var heroes = await CallMethodAsync<HeroResultContainer>("GetHeroes", 1);
4848
return new ReadOnlyCollection<Hero>(heroes.Result.Heroes);
@@ -63,8 +63,8 @@ public async Task<string> GetItemIconPathAsync(string iconName, string iconType
6363

6464
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
6565

66-
AddToParametersIfHasValue("iconname", iconName, parameters);
67-
AddToParametersIfHasValue("icontype", iconType, parameters);
66+
AddToParametersIfHasValue(iconName, "iconname", parameters);
67+
AddToParametersIfHasValue(iconType, "icontype", parameters);
6868

6969
var itemIconPath = await CallMethodAsync<ItemIconPathResultContainer>("GetItemIconPath", 1);
7070
return itemIconPath.Result.Path;
@@ -74,7 +74,7 @@ public async Task<RarityResult> GetRaritiesAsync(string language = "")
7474
{
7575
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
7676

77-
AddToParametersIfHasValue("language", language, parameters);
77+
AddToParametersIfHasValue(language, "language", parameters);
7878

7979
var raritiesContainer = await CallMethodAsync<RarityResultContainer>("GetRarities", 1);
8080
return raritiesContainer.Result;
@@ -84,7 +84,7 @@ public async Task<PrizePoolResult> GetTournamentPrizePool(int? leagueId = null)
8484
{
8585
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
8686

87-
AddToParametersIfHasValue("leagueid", leagueId, parameters);
87+
AddToParametersIfHasValue(leagueId, "leagueid", parameters);
8888

8989
var raritiesContainer = await CallMethodAsync<PrizePoolResultContainer>("GetTournamentPrizePool", 1);
9090
return raritiesContainer.Result;

SteamWebAPI2/Interfaces/DOTA2Match.cs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ public async Task<IReadOnlyCollection<LiveLeagueGame>> GetLiveLeagueGames(int? l
2323
{
2424
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
2525

26-
AddToParametersIfHasValue("league_id", leagueId, parameters);
27-
AddToParametersIfHasValue("match_id", matchId, parameters);
26+
AddToParametersIfHasValue(leagueId, "league_id", parameters);
27+
AddToParametersIfHasValue(matchId, "match_id", parameters);
2828

2929
var liveLeagueGames = await CallMethodAsync<LiveLeagueGameResultContainer>("GetLiveLeagueGames", 1, parameters);
3030
return new ReadOnlyCollection<LiveLeagueGame>(liveLeagueGames.Result.Games);
@@ -34,7 +34,7 @@ public async Task<MatchDetailResult> GetMatchDetails(int matchId)
3434
{
3535
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
3636

37-
AddToParametersIfHasValue("match_id", matchId, parameters);
37+
AddToParametersIfHasValue(matchId, "match_id", parameters);
3838

3939
var matchDetail = await CallMethodAsync<MatchDetailResultContainer>("GetMatchDetails", 1, parameters);
4040
return matchDetail.Result;
@@ -46,15 +46,15 @@ public async Task<MatchHistoryResult> GetMatchHistory(int? heroId = null, int? g
4646
{
4747
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
4848

49-
AddToParametersIfHasValue("hero_id", heroId, parameters);
50-
AddToParametersIfHasValue("game_mode", gameMode, parameters);
51-
AddToParametersIfHasValue("skill", skill, parameters);
52-
AddToParametersIfHasValue("min_players", minPlayers, parameters);
53-
AddToParametersIfHasValue("account_id", accountId, parameters);
54-
AddToParametersIfHasValue("league_id", leagueId, parameters);
55-
AddToParametersIfHasValue("start_at_match_id", startAtMatchId, parameters);
56-
AddToParametersIfHasValue("matches_requested", matchesRequested, parameters);
57-
AddToParametersIfHasValue("tournament_games_only", tournamentGamesOnly, parameters);
49+
AddToParametersIfHasValue(heroId, "hero_id", parameters);
50+
AddToParametersIfHasValue(gameMode, "game_mode", parameters);
51+
AddToParametersIfHasValue(skill, "skill", parameters);
52+
AddToParametersIfHasValue(minPlayers, "min_players", parameters);
53+
AddToParametersIfHasValue(accountId, "account_id", parameters);
54+
AddToParametersIfHasValue(leagueId, "league_id", parameters);
55+
AddToParametersIfHasValue(startAtMatchId, "start_at_match_id", parameters);
56+
AddToParametersIfHasValue(matchesRequested, "matches_requested", parameters);
57+
AddToParametersIfHasValue(tournamentGamesOnly, "tournament_games_only", parameters);
5858

5959
var matchHistory = await CallMethodAsync<MatchHistoryResultContainer>("GetMatchHistory", 1);
6060
return matchHistory.Result;
@@ -64,8 +64,8 @@ public async Task<MatchHistoryBySequenceNumberResult> GetMatchHistoryBySequenceN
6464
{
6565
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
6666

67-
AddToParametersIfHasValue("start_at_match_seq_num", startAtMatchSequenceNumber, parameters);
68-
AddToParametersIfHasValue("matches_requested", matchesRequested, parameters);
67+
AddToParametersIfHasValue(startAtMatchSequenceNumber, "start_at_match_seq_num", parameters);
68+
AddToParametersIfHasValue(matchesRequested, "matches_requested", parameters);
6969

7070
var matchHistory = await CallMethodAsync<MatchHistoryBySequenceNumberResultContainer>("GetMatchHistoryBySequenceNum", 1);
7171
return matchHistory.Result;
@@ -81,8 +81,8 @@ public async Task<IReadOnlyCollection<TeamInfo>> GetTeamInfoByTeamId(long? start
8181
{
8282
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
8383

84-
AddToParametersIfHasValue("start_at_team_id", startAtTeamId, parameters);
85-
AddToParametersIfHasValue("teams_requested", teamsRequested, parameters);
84+
AddToParametersIfHasValue(startAtTeamId, "start_at_team_id", parameters);
85+
AddToParametersIfHasValue(teamsRequested, "teams_requested", parameters);
8686

8787
var teamInfos = await CallMethodAsync<TeamInfoResultContainer>("GetTeamInfoByTeamID", 1);
8888
return new ReadOnlyCollection<TeamInfo>(teamInfos.Result.Teams);

SteamWebAPI2/Interfaces/EconItems.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public async Task<EconItemResult> GetPlayerItemsAsync(long steamId)
4848
{
4949
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
5050

51-
AddToParametersIfHasValue("steamid", steamId, parameters);
51+
AddToParametersIfHasValue(steamId, "steamid", parameters);
5252

5353
var econItemsResult = await CallMethodAsync<EconItemResultContainer>("GetPlayerItems", 1, parameters);
5454
return econItemsResult.Result;
@@ -63,7 +63,7 @@ public async Task<SchemaResult> GetSchemaAsync(string language = "")
6363

6464
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
6565

66-
AddToParametersIfHasValue("language", language, parameters);
66+
AddToParametersIfHasValue(language, "language", parameters);
6767

6868
var schemaResult = await CallMethodAsync<SchemaResultContainer>("GetSchema", 1, parameters);
6969
return schemaResult.Result;
@@ -89,7 +89,7 @@ public async Task<StoreMetaDataResult> GetStoreMetaDataAsync(string language = "
8989

9090
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
9191

92-
AddToParametersIfHasValue("language", language, parameters);
92+
AddToParametersIfHasValue(language, "language", parameters);
9393

9494
var storeMetaDataResult = await CallMethodAsync<StoreMetaDataResultContainer>("GetStoreMetaData", 1);
9595
return storeMetaDataResult.Result;

SteamWebAPI2/Interfaces/PlayerService.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,33 +17,33 @@ public PlayerService(string steamWebApiKey)
1717
public async Task<PlayingSharedGameResult> IsPlayingSharedGameAsync(long steamId, int appId)
1818
{
1919
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
20-
AddToParametersIfHasValue("steamid", steamId, parameters);
21-
AddToParametersIfHasValue("appid_playing", appId, parameters);
20+
AddToParametersIfHasValue(steamId, "steamid", parameters);
21+
AddToParametersIfHasValue(appId, "appid_playing", parameters);
2222
var playingSharedGameResult = await CallMethodAsync<PlayingSharedGameResultContainer>("IsPlayingSharedGame", 1, parameters);
2323
return playingSharedGameResult.Result;
2424
}
2525

2626
public async Task<IReadOnlyCollection<BadgeQuest>> GetCommunityBadgeProgressAsync(long steamId, int? badgeId = null)
2727
{
2828
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
29-
AddToParametersIfHasValue("steamid", steamId, parameters);
30-
AddToParametersIfHasValue("badgeid", badgeId, parameters);
29+
AddToParametersIfHasValue(steamId, "steamid", parameters);
30+
AddToParametersIfHasValue(badgeId, "badgeid", parameters);
3131
var badgeProgressResult = await CallMethodAsync<CommunityBadgeProgressResultContainer>("GetCommunityBadgeProgress", 1, parameters);
3232
return new ReadOnlyCollection<BadgeQuest>(badgeProgressResult.Result.Quests);
3333
}
3434

3535
public async Task<BadgesResult> GetBadgesAsync(long steamId)
3636
{
3737
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
38-
AddToParametersIfHasValue("steamid", steamId, parameters);
38+
AddToParametersIfHasValue(steamId, "steamid", parameters);
3939
var badgesResult = await CallMethodAsync<BadgesResultContainer>("GetBadges", 1, parameters);
4040
return badgesResult.Result;
4141
}
4242

4343
public async Task<int> GetSteamLevelAsync(long steamId)
4444
{
4545
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
46-
AddToParametersIfHasValue("steamid", steamId, parameters);
46+
AddToParametersIfHasValue(steamId, "steamid", parameters);
4747
var steamLevelResult = await CallMethodAsync<SteamLevelResultContainer>("GetSteamLevel", 1, parameters);
4848
return steamLevelResult.Result.PlayerLevel;
4949
}
@@ -57,14 +57,14 @@ public async Task<OwnedGamesResult> GetOwnedGamesAsync(long steamId, bool? inclu
5757
if (includeFreeGames.HasValue) { includeFreeGamesBit = includeFreeGames.Value ? 1 : 0; }
5858

5959
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
60-
AddToParametersIfHasValue("steamid", steamId, parameters);
61-
AddToParametersIfHasValue("include_appinfo", includeAppInfoBit, parameters);
62-
AddToParametersIfHasValue("include_played_Free_games", includeFreeGamesBit, parameters);
60+
AddToParametersIfHasValue(steamId, "steamid", parameters);
61+
AddToParametersIfHasValue(includeAppInfoBit, "include_appinfo", parameters);
62+
AddToParametersIfHasValue(includeFreeGamesBit, "include_played_Free_games", parameters);
6363

6464
if (appIdsToFilter != null)
6565
{
6666
string appIdsDelimited = String.Join(",", appIdsToFilter);
67-
AddToParametersIfHasValue("appids_filter", appIdsDelimited, parameters);
67+
AddToParametersIfHasValue(appIdsDelimited, "appids_filter", parameters);
6868
}
6969

7070
var ownedGamesResult = await CallMethodAsync<OwnedGamesResultContainer>("GetOwnedGames", 1, parameters);
@@ -74,7 +74,7 @@ public async Task<OwnedGamesResult> GetOwnedGamesAsync(long steamId, bool? inclu
7474
public async Task<RecentlyPlayedGameResult> GetRecentlyPlayedGamesAsync(long steamId)
7575
{
7676
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
77-
AddToParametersIfHasValue("steamid", steamId, parameters);
77+
AddToParametersIfHasValue(steamId, "steamid", parameters);
7878
var recentlyPlayedGameResult = await CallMethodAsync<RecentlyPlayedGameResultContainer>("GetRecentlyPlayedGames", 1, parameters);
7979
return recentlyPlayedGameResult.Result;
8080
}

SteamWebAPI2/Interfaces/SteamApps.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ public async Task<SteamAppUpToDateCheckResult> UpToDateCheckAsync(int appId, int
2222
{
2323
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
2424

25-
AddToParametersIfHasValue("appid", appId, parameters);
26-
AddToParametersIfHasValue("version", version, parameters);
25+
AddToParametersIfHasValue(appId, "appid", parameters);
26+
AddToParametersIfHasValue(version, "version", parameters);
2727

2828
var upToDateCheckResult = await CallMethodAsync<SteamAppUpToDateCheckResultContainer>("UpToDateCheck", 1, parameters);
2929
return upToDateCheckResult.Result;

SteamWebAPI2/Interfaces/SteamEconomy.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ public async Task<AssetClassInfoResult> GetAssetClassInfoAsync(int appId, IReadO
1616
{
1717
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
1818

19-
AddToParametersIfHasValue("appid", appId, parameters);
20-
AddToParametersIfHasValue("class_count", classIds.Count, parameters);
19+
AddToParametersIfHasValue(appId, "appid", parameters);
20+
AddToParametersIfHasValue(classIds.Count, "class_count", parameters);
2121

2222
for (int i = 0; i < classIds.Count; i++)
2323
{
24-
AddToParametersIfHasValue(String.Format("classid{0}", i), classIds[i], parameters);
24+
AddToParametersIfHasValue(classIds[i], String.Format("classid{0}", i), parameters);
2525
}
2626

2727
var assetClassInfoResult = await CallMethodAsync<AssetClassInfoResultContainer>("GetAssetClassInfo", 1, parameters);
@@ -32,9 +32,9 @@ public async Task<AssetPriceResult> GetAssetPricesAsync(int appId, string curren
3232
{
3333
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
3434

35-
AddToParametersIfHasValue("appid", appId, parameters);
36-
AddToParametersIfHasValue("currency", currency, parameters);
37-
AddToParametersIfHasValue("language", language, parameters);
35+
AddToParametersIfHasValue(appId, "appid", parameters);
36+
AddToParametersIfHasValue(currency, "currency", parameters);
37+
AddToParametersIfHasValue(language, "language", parameters);
3838

3939
var assetPriceResult = await CallMethodAsync<AssetPriceResultContainer>("GetAssetPrices", 1, parameters);
4040
return assetPriceResult.Result;

SteamWebAPI2/Interfaces/SteamNews.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ public async Task<SteamNewsResult> GetNewsForAppAsync(int appId, int? maxLength
2424

2525
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
2626

27-
AddToParametersIfHasValue("appid", appId, parameters);
28-
AddToParametersIfHasValue("maxlength", maxLength, parameters);
29-
AddToParametersIfHasValue("enddate", endDateUnixTimeStamp, parameters);
30-
AddToParametersIfHasValue("count", count, parameters);
27+
AddToParametersIfHasValue(appId, "appid", parameters);
28+
AddToParametersIfHasValue(maxLength, "maxlength", parameters);
29+
AddToParametersIfHasValue(endDateUnixTimeStamp, "enddate", parameters);
30+
AddToParametersIfHasValue(count, "count", parameters);
3131

3232
var appNews = await CallMethodAsync<SteamNewsResultContainer>("GetNewsForApp", 2, parameters);
3333
return appNews.Result;

SteamWebAPI2/Interfaces/SteamUser.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public SteamUser(string steamWebApiKey)
1616
public async Task<PlayerSummary> GetPlayerSummaryAsync(long steamId)
1717
{
1818
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
19-
AddToParametersIfHasValue("steamids", steamId, parameters);
19+
AddToParametersIfHasValue(steamId, "steamids", parameters);
2020
var playerSummary = await CallMethodAsync<PlayerSummaryResultContainer>("GetPlayerSummaries", 2, parameters);
2121

2222
if (playerSummary.Result.Players.Count > 0)
@@ -32,8 +32,8 @@ public async Task<PlayerSummary> GetPlayerSummaryAsync(long steamId)
3232
public async Task<IReadOnlyCollection<Friend>> GetFriendsListAsync(long steamId, string relationship = "")
3333
{
3434
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
35-
AddToParametersIfHasValue("steamid", steamId, parameters);
36-
AddToParametersIfHasValue("relationship", relationship, parameters);
35+
AddToParametersIfHasValue(steamId, "steamid", parameters);
36+
AddToParametersIfHasValue(relationship, "relationship", parameters);
3737
var friendsListResult = await CallMethodAsync<FriendsListResultContainer>("GetFriendList", 1, parameters);
3838
return new ReadOnlyCollection<Friend>(friendsListResult.Result.Friends);
3939
}
@@ -49,7 +49,7 @@ public async Task<IReadOnlyCollection<PlayerBans>> GetPlayerBansAsync(IReadOnlyC
4949

5050
string steamIdsParamValue = String.Join(",", steamIds);
5151

52-
AddToParametersIfHasValue("steamids", steamIdsParamValue, parameters);
52+
AddToParametersIfHasValue(steamIdsParamValue, "steamids", parameters);
5353

5454
var playerBansContainer = await CallMethodAsync<PlayerBansContainer>("GetPlayerBans", 1, parameters);
5555
return new ReadOnlyCollection<PlayerBans>(playerBansContainer.PlayerBans);
@@ -59,18 +59,18 @@ public async Task<UserGroupListResult> GetUserGroupsAsync(long steamId)
5959
{
6060
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
6161

62-
AddToParametersIfHasValue("steamid", steamId, parameters);
62+
AddToParametersIfHasValue(steamId, "steamid", parameters);
6363

6464
var userGroupResultContainer = await CallMethodAsync<UserGroupListResultContainer>("GetUserGroupList", 1, parameters);
6565
return userGroupResultContainer.Result;
6666
}
6767

68-
public async Task<long> ResolveVanityUrlAsync(string vanityUrl, int? urlType = null)
68+
public async Task<ulong> ResolveVanityUrlAsync(string vanityUrl, int? urlType = null)
6969
{
7070
List<SteamWebRequestParameter> parameters = new List<SteamWebRequestParameter>();
7171

72-
AddToParametersIfHasValue("vanityurl", vanityUrl, parameters);
73-
AddToParametersIfHasValue("url_type", urlType, parameters);
72+
AddToParametersIfHasValue(vanityUrl, "vanityurl", parameters);
73+
AddToParametersIfHasValue(urlType, "url_type", parameters);
7474

7575
var userGroupResultContainer = await CallMethodAsync<ResolveVanityUrlResultContainer>("ResolveVanityURL", 1, parameters);
7676
return userGroupResultContainer.Result.SteamId;

0 commit comments

Comments
 (0)