Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 48afee6

Browse files
author
Hariharan Subramanian
committed
Changed Badge client to similar response ✅
1 parent 97a9616 commit 48afee6

File tree

2 files changed

+26
-27
lines changed

2 files changed

+26
-27
lines changed

‎StackExchange.NET/StackExchange.NET/Clients/Badges.cs

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
using System.Collections.Generic;
44
using System.Web;
5-
using Newtonsoft.Json;
65
using StackExchange.NET.Interfaces;
76
using StackExchange.NET.Models;
87

@@ -14,64 +13,64 @@ public partial class StackExchangeClient : IBadges
1413
{
1514
public IBadges Badges => this;
1615

17-
Badges IBadges.GetAllBadges(BadgeFilters filters, string inName)
16+
BaseResponse<Badges> IBadges.GetAllBadges(BadgeFilters filters, string inName)
1817
{
1918
var apiParams = filters.GetQueryParams();
2019
var url = $"{_baseApiUrl}/badges?key={_apiKey}&{apiParams}&inname={inName}";
2120
var response = _httpClient.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
22-
var badges = JsonConvert.DeserializeObject<Badges>(response);
23-
return badges;
21+
var apiResult = response.DeserializeJson<Data<Badges>>().ValidateApiResponse();
22+
return apiResult;
2423
}
2524

26-
Badges IBadges.GetBadgesByIds(List<string> ids, BadgeFilters filters)
25+
BaseResponse<Badges> IBadges.GetBadgesByIds(List<string> ids, BadgeFilters filters)
2726
{
2827
var apiParams = filters.GetQueryParams();
2928
var url = $"{_baseApiUrl}/badges/";
3029
var idsToEncode = string.Join(";", ids.ToArray());
3130
url = url + $"{HttpUtility.UrlEncode(idsToEncode)}" + $"?key={_apiKey}&{apiParams}";
3231
var response = _httpClient.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
33-
var badges = JsonConvert.DeserializeObject<Badges>(response);
34-
return badges;
32+
var apiResult = response.DeserializeJson<Data<Badges>>().ValidateApiResponse();
33+
return apiResult;
3534
}
3635

37-
Badges IBadges.GetNonTaggedBadges(List<string> ids, BadgeFilters filters)
36+
BaseResponse<Badges> IBadges.GetNonTaggedBadges(List<string> ids, BadgeFilters filters)
3837
{
3938
var apiParams = filters.GetQueryParams();
4039
var url = $"{_baseApiUrl}/badges/name";
4140
var idsToEncode = string.Join(";", ids.ToArray());
4241
url = url + $"{HttpUtility.UrlEncode(idsToEncode)}" + $"?key={_apiKey}&{apiParams}";
4342
var response = _httpClient.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
44-
var badges = JsonConvert.DeserializeObject<Badges>(response);
45-
return badges;
43+
var apiResult = response.DeserializeJson<Data<Badges>>().ValidateApiResponse();
44+
return apiResult;
4645
}
4746

48-
Badges IBadges.GetRecentlyAwardedBadges(BadgeFilters filters)
47+
BaseResponse<Badges> IBadges.GetRecentlyAwardedBadges(BadgeFilters filters)
4948
{
5049
var apiParams = filters.GetQueryParams();
51-
var url = $"{_baseApiUrl}/badges/recipients"+ $"?key={_apiKey}&{apiParams}";
50+
var url = $"{_baseApiUrl}/badges/recipients"+ $"?key={_apiKey}&{apiParams}";
5251
var response = _httpClient.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
53-
var badges = JsonConvert.DeserializeObject<Badges>(response);
54-
return badges;
52+
var apiResult = response.DeserializeJson<Data<Badges>>().ValidateApiResponse();
53+
return apiResult;
5554
}
5655

57-
Badges IBadges.GetRecentlyAwardedBadgesByIds(List<string> ids, BadgeFilters filters)
56+
BaseResponse<Badges> IBadges.GetRecentlyAwardedBadgesByIds(List<string> ids, BadgeFilters filters)
5857
{
5958
var apiParams = filters.GetQueryParams();
6059
var url = $"{_baseApiUrl}/badges/";
6160
var idsToEncode = string.Join(";", ids.ToArray());
6261
url = url + $"{HttpUtility.UrlEncode(idsToEncode)}/recipients" + $"?key={_apiKey}&{apiParams}";
6362
var response = _httpClient.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
64-
var badges = JsonConvert.DeserializeObject<Badges>(response);
65-
return badges;
63+
var apiResult = response.DeserializeJson<Data<Badges>>().ValidateApiResponse();
64+
return apiResult;
6665
}
6766

68-
Badges IBadges.GetAllTaggedBadges(BadgeFilters filters, string inName)
67+
BaseResponse<Badges> IBadges.GetAllTaggedBadges(BadgeFilters filters, string inName)
6968
{
7069
var apiParams = filters.GetQueryParams();
71-
var url = $"{_baseApiUrl}/badges/tags"+ $"?key={_apiKey}&{apiParams}";
70+
var url = $"{_baseApiUrl}/badges/tags"+ $"?key={_apiKey}&{apiParams}";
7271
var response = _httpClient.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
73-
var badges = JsonConvert.DeserializeObject<Badges>(response);
74-
return badges;
72+
var apiResult = response.DeserializeJson<Data<Badges>>().ValidateApiResponse();
73+
return apiResult;
7574
}
7675
}
7776
}

‎StackExchange.NET/StackExchange.NET/Interfaces/IBadges.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ namespace StackExchange.NET.Interfaces
55
{
66
public interface IBadges
77
{
8-
Badges GetAllBadges(BadgeFilters filters, string inName = null);
9-
Badges GetBadgesByIds(List<string> ids, BadgeFilters filters);
10-
Badges GetNonTaggedBadges(List<string> ids, BadgeFilters filters);
11-
Badges GetRecentlyAwardedBadges(BadgeFilters filters);
12-
Badges GetRecentlyAwardedBadgesByIds(List<string> ids, BadgeFilters filters);
13-
Badges GetAllTaggedBadges(BadgeFilters filters, string inName = null);
8+
BaseResponse<Badges> GetAllBadges(BadgeFilters filters, string inName = null);
9+
BaseResponse<Badges> GetBadgesByIds(List<string> ids, BadgeFilters filters);
10+
BaseResponse<Badges> GetNonTaggedBadges(List<string> ids, BadgeFilters filters);
11+
BaseResponse<Badges> GetRecentlyAwardedBadges(BadgeFilters filters);
12+
BaseResponse<Badges> GetRecentlyAwardedBadgesByIds(List<string> ids, BadgeFilters filters);
13+
BaseResponse<Badges> GetAllTaggedBadges(BadgeFilters filters, string inName = null);
1414
}
1515
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /