Skip to content

Commit 1c6f317

Browse files
committed
Added Status Code to models
1 parent 3184d55 commit 1c6f317

File tree

3 files changed

+14
-6
lines changed

3 files changed

+14
-6
lines changed

SpotifyAPI/Web/Models/BasicModel.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,16 @@ public abstract class BasicModel
99
[JsonProperty("error")]
1010
public Error Error { get; set; }
1111

12-
private WebHeaderCollection _headers;
12+
private ResponseInfo _info;
1313

1414
public bool HasError() => Error != null;
1515

16-
internal void AddResponseInfo(ResponseInfo info) => _headers = info.Headers;
16+
internal void AddResponseInfo(ResponseInfo info) => _info = info;
1717

18-
public string Header(string key) => _headers?.Get(key);
18+
public string Header(string key) => _info.Headers?.Get(key);
1919

20-
public WebHeaderCollection Headers() => _headers;
20+
public WebHeaderCollection Headers() => _info.Headers;
21+
22+
public HttpStatusCode StatusCode() => _info.StatusCode;
2123
}
2224
}

SpotifyAPI/Web/Models/ResponseInfo.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ public class ResponseInfo
66
{
77
public WebHeaderCollection Headers { get; set; }
88

9+
public HttpStatusCode StatusCode { get; set; }
10+
911
public static readonly ResponseInfo Empty = new ResponseInfo();
1012
}
1113
}

SpotifyAPI/Web/SpotifyWebClient.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,9 @@ public Tuple<ResponseInfo, byte[]> DownloadRaw(string url, Dictionary<string, st
4343
}
4444
using (HttpResponseMessage response = Task.Run(() => client.GetAsync(url)).Result)
4545
{
46-
return new Tuple<ResponseInfo, byte[]>(new ResponseInfo()
46+
return new Tuple<ResponseInfo, byte[]>(new ResponseInfo
4747
{
48+
StatusCode = response.StatusCode,
4849
Headers = ConvertHeaders(response.Headers)
4950
}, Task.Run(() => response.Content.ReadAsByteArrayAsync()).Result);
5051
}
@@ -64,8 +65,9 @@ public async Task<Tuple<ResponseInfo, byte[]>> DownloadRawAsync(string url, Dict
6465
}
6566
using (HttpResponseMessage response = await client.GetAsync(url).ConfigureAwait(false))
6667
{
67-
return new Tuple<ResponseInfo, byte[]>(new ResponseInfo()
68+
return new Tuple<ResponseInfo, byte[]>(new ResponseInfo
6869
{
70+
StatusCode = response.StatusCode,
6971
Headers = ConvertHeaders(response.Headers)
7072
}, await response.Content.ReadAsByteArrayAsync());
7173
}
@@ -116,6 +118,7 @@ public Tuple<ResponseInfo, byte[]> UploadRaw(string url, string body, string met
116118
{
117119
return new Tuple<ResponseInfo, byte[]>(new ResponseInfo
118120
{
121+
StatusCode = response.StatusCode,
119122
Headers = ConvertHeaders(response.Headers)
120123
}, Task.Run(() => response.Content.ReadAsByteArrayAsync()).Result);
121124
}
@@ -142,6 +145,7 @@ public async Task<Tuple<ResponseInfo, byte[]>> UploadRawAsync(string url, string
142145
{
143146
return new Tuple<ResponseInfo, byte[]>(new ResponseInfo
144147
{
148+
StatusCode = response.StatusCode,
145149
Headers = ConvertHeaders(response.Headers)
146150
}, await response.Content.ReadAsByteArrayAsync());
147151
}

0 commit comments

Comments
 (0)