diff --git a/Octokit/Clients/FollowersClient.cs b/Octokit/Clients/FollowersClient.cs index e1f81adc..9059371c 100644 --- a/Octokit/Clients/FollowersClient.cs +++ b/Octokit/Clients/FollowersClient.cs @@ -141,11 +141,11 @@ namespace Octokit var requestData = new { }; var response = await Connection.Put(ApiUrls.IsFollowing(login), requestData) .ConfigureAwait(false); - if (response.StatusCode != HttpStatusCode.NoContent) + if (response.HttpResponse.StatusCode != HttpStatusCode.NoContent) { - throw new ApiException("Invalid Status Code returned. Expected a 204", response.StatusCode); + throw new ApiException("Invalid Status Code returned. Expected a 204", response.HttpResponse.StatusCode); } - return response.StatusCode == HttpStatusCode.NoContent; + return response.HttpResponse.StatusCode == HttpStatusCode.NoContent; } catch (NotFoundException) { diff --git a/Octokit/Clients/OrganizationMembersClient.cs b/Octokit/Clients/OrganizationMembersClient.cs index 3b7fce29..76a5e756 100644 --- a/Octokit/Clients/OrganizationMembersClient.cs +++ b/Octokit/Clients/OrganizationMembersClient.cs @@ -144,13 +144,14 @@ namespace Octokit { var response = await Connection.Get(ApiUrls.CheckMember(org, user), null, null) .ConfigureAwait(false); - if (response.StatusCode != HttpStatusCode.NotFound - && response.StatusCode != HttpStatusCode.NoContent - && response.StatusCode != HttpStatusCode.Found) + var statusCode = response.HttpResponse.StatusCode; + if (statusCode != HttpStatusCode.NotFound + && statusCode != HttpStatusCode.NoContent + && statusCode != HttpStatusCode.Found) { - throw new ApiException("Invalid Status Code returned. Expected a 204, a 302 or a 404", response.StatusCode); + throw new ApiException("Invalid Status Code returned. Expected a 204, a 302 or a 404", statusCode); } - return response.StatusCode == HttpStatusCode.NoContent; + return statusCode == HttpStatusCode.NoContent; } catch (NotFoundException) { @@ -226,11 +227,11 @@ namespace Octokit var requestData = new { }; var response = await Connection.Put(ApiUrls.OrganizationMembership(org, user), requestData) .ConfigureAwait(false); - if (response.StatusCode != HttpStatusCode.NoContent) + if (response.HttpResponse.StatusCode != HttpStatusCode.NoContent) { - throw new ApiException("Invalid Status Code returned. Expected a 204", response.StatusCode); + throw new ApiException("Invalid Status Code returned. Expected a 204", response.HttpResponse.StatusCode); } - return response.StatusCode == HttpStatusCode.NoContent; + return response.HttpResponse.StatusCode == HttpStatusCode.NoContent; } catch (NotFoundException) { diff --git a/Octokit/Clients/PullRequestReviewCommentsClient.cs b/Octokit/Clients/PullRequestReviewCommentsClient.cs index 7b22390a..b171a61f 100644 --- a/Octokit/Clients/PullRequestReviewCommentsClient.cs +++ b/Octokit/Clients/PullRequestReviewCommentsClient.cs @@ -95,9 +95,9 @@ namespace Octokit var response = await ApiConnection.Connection.Post(ApiUrls.PullRequestReviewComments(owner, name, number), comment, null, null).ConfigureAwait(false); - if (response.StatusCode != HttpStatusCode.Created) + if (response.HttpResponse.StatusCode != HttpStatusCode.Created) { - throw new ApiException("Invalid Status Code returned. Expected a 201", response.StatusCode); + throw new ApiException("Invalid Status Code returned. Expected a 201", response.HttpResponse.StatusCode); } return response.Body; @@ -120,9 +120,9 @@ namespace Octokit var response = await ApiConnection.Connection.Post(ApiUrls.PullRequestReviewComments(owner, name, number), comment, null, null).ConfigureAwait(false); - if (response.StatusCode != HttpStatusCode.Created) + if (response.HttpResponse.StatusCode != HttpStatusCode.Created) { - throw new ApiException("Invalid Status Code returned. Expected a 201", response.StatusCode); + throw new ApiException("Invalid Status Code returned. Expected a 201", response.HttpResponse.StatusCode); } return response.Body; diff --git a/Octokit/Clients/StarredClient.cs b/Octokit/Clients/StarredClient.cs index 489ea11f..73f42a7a 100644 --- a/Octokit/Clients/StarredClient.cs +++ b/Octokit/Clients/StarredClient.cs @@ -113,7 +113,7 @@ namespace Octokit var response = await Connection.Get(ApiUrls.Starred(owner, name), null, null) .ConfigureAwait(false); - return response.StatusCode == HttpStatusCode.NoContent; + return response.HttpResponse.StatusCode == HttpStatusCode.NoContent; } catch (NotFoundException) { @@ -137,7 +137,7 @@ namespace Octokit var response = await Connection.Put(ApiUrls.Starred(owner, name), null, null) .ConfigureAwait(false); - return response.StatusCode == HttpStatusCode.NoContent; + return response.HttpResponse.StatusCode == HttpStatusCode.NoContent; } catch (NotFoundException) { diff --git a/Octokit/Clients/TeamsClient.cs b/Octokit/Clients/TeamsClient.cs index 471afd86..e3287588 100644 --- a/Octokit/Clients/TeamsClient.cs +++ b/Octokit/Clients/TeamsClient.cs @@ -121,7 +121,7 @@ namespace Octokit try { var response = await ApiConnection.Connection.GetResponse(endpoint); - return response.StatusCode == System.Net.HttpStatusCode.NoContent; + return response.HttpResponse.StatusCode == System.Net.HttpStatusCode.NoContent; } catch (NotFoundException) { diff --git a/Octokit/Helpers/EnumExtensions.cs b/Octokit/Helpers/EnumExtensions.cs index ce39bb07..15ac0640 100644 --- a/Octokit/Helpers/EnumExtensions.cs +++ b/Octokit/Helpers/EnumExtensions.cs @@ -1,6 +1,7 @@ using System; using System.Diagnostics.CodeAnalysis; using System.Linq; +using System.Reflection; using Octokit.Internal; namespace Octokit diff --git a/Octokit/Http/ApiConnection.cs b/Octokit/Http/ApiConnection.cs index c523a309..d4f3785a 100644 --- a/Octokit/Http/ApiConnection.cs +++ b/Octokit/Http/ApiConnection.cs @@ -343,16 +343,17 @@ namespace Octokit var response = await Connection.GetResponse(uri, cancellationToken); - if (response.StatusCode == HttpStatusCode.Accepted) + if (response.HttpResponse.StatusCode == HttpStatusCode.Accepted) { return await GetQueuedOperation(uri, cancellationToken); } - if (response.StatusCode == HttpStatusCode.OK) + if (response.HttpResponse.StatusCode == HttpStatusCode.OK) { return response.Body; } - throw new ApiException("Queued Operations expect status codes of Accepted or OK.",response.StatusCode); + throw new ApiException("Queued Operations expect status codes of Accepted or OK.", + response.HttpResponse.StatusCode); } async Task> GetPage( diff --git a/Octokit/Http/ApiResponse.cs b/Octokit/Http/ApiResponse.cs index 7445c0fc..8b1c117c 100644 --- a/Octokit/Http/ApiResponse.cs +++ b/Octokit/Http/ApiResponse.cs @@ -1,7 +1,4 @@ -using System.Collections.Generic; -using System.Net; - -namespace Octokit.Internal +namespace Octokit.Internal { public class ApiResponse : IApiResponse { @@ -13,20 +10,13 @@ namespace Octokit.Internal { Ensure.ArgumentNotNull(response, "response"); - var body = response.Body is T ? (T)response.Body : default(T); HttpResponse = response; - Headers = response.Headers; - Body = body; - StatusCode = response.StatusCode; - ContentType = response.ContentType; Body = bodyAsObject; } public T Body { get; private set; } - public IReadOnlyDictionary Headers { get; private set; } - public HttpStatusCode StatusCode { get; set; } + public IResponse HttpResponse { get; private set; } - public string ContentType { get; set; } static T GetBodyAsObject(IResponse response) { diff --git a/Octokit/Http/Connection.cs b/Octokit/Http/Connection.cs index 8875666f..34e5a4bd 100644 --- a/Octokit/Http/Connection.cs +++ b/Octokit/Http/Connection.cs @@ -309,7 +309,7 @@ namespace Octokit Endpoint = uri }; var response = await Run(request, CancellationToken.None); - return response.StatusCode; + return response.HttpResponse.StatusCode; } /// @@ -328,7 +328,7 @@ namespace Octokit Endpoint = uri }; var response = await Run(request, CancellationToken.None); - return response.StatusCode; + return response.HttpResponse.StatusCode; } /// @@ -347,7 +347,7 @@ namespace Octokit Endpoint = uri }; var response = await Run(request, CancellationToken.None); - return response.StatusCode; + return response.HttpResponse.StatusCode; } /// @@ -369,7 +369,7 @@ namespace Octokit Endpoint = uri }; var response = await Run(request, CancellationToken.None); - return response.StatusCode; + return response.HttpResponse.StatusCode; } /// diff --git a/Octokit/Http/IResponse.cs b/Octokit/Http/IResponse.cs index 549464d7..cfa4ef05 100644 --- a/Octokit/Http/IResponse.cs +++ b/Octokit/Http/IResponse.cs @@ -14,11 +14,6 @@ namespace Octokit /// T Body { get; } - /// - /// The response status code. - /// - HttpStatusCode StatusCode { get; } - /// /// The original non-deserialized http response. ///