mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-06-04 11:24:44 +00:00
Remove StatusCode property from ApiResponse
We really want ApiResponse to be a composite of IResponse and the deserialized content.
This commit is contained in:
@@ -141,11 +141,11 @@ namespace Octokit
|
||||
var requestData = new { };
|
||||
var response = await Connection.Put<object>(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)
|
||||
{
|
||||
|
||||
@@ -144,13 +144,14 @@ namespace Octokit
|
||||
{
|
||||
var response = await Connection.Get<object>(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<object>(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)
|
||||
{
|
||||
|
||||
@@ -95,9 +95,9 @@ namespace Octokit
|
||||
|
||||
var response = await ApiConnection.Connection.Post<PullRequestReviewComment>(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<PullRequestReviewComment>(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;
|
||||
|
||||
@@ -113,7 +113,7 @@ namespace Octokit
|
||||
var response = await Connection.Get<object>(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<object>(ApiUrls.Starred(owner, name), null, null)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
return response.StatusCode == HttpStatusCode.NoContent;
|
||||
return response.HttpResponse.StatusCode == HttpStatusCode.NoContent;
|
||||
}
|
||||
catch (NotFoundException)
|
||||
{
|
||||
|
||||
@@ -121,7 +121,7 @@ namespace Octokit
|
||||
try
|
||||
{
|
||||
var response = await ApiConnection.Connection.GetResponse<string>(endpoint);
|
||||
return response.StatusCode == System.Net.HttpStatusCode.NoContent;
|
||||
return response.HttpResponse.StatusCode == System.Net.HttpStatusCode.NoContent;
|
||||
}
|
||||
catch (NotFoundException)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using Octokit.Internal;
|
||||
|
||||
namespace Octokit
|
||||
|
||||
@@ -343,16 +343,17 @@ namespace Octokit
|
||||
|
||||
var response = await Connection.GetResponse<T>(uri, cancellationToken);
|
||||
|
||||
if (response.StatusCode == HttpStatusCode.Accepted)
|
||||
if (response.HttpResponse.StatusCode == HttpStatusCode.Accepted)
|
||||
{
|
||||
return await GetQueuedOperation<T>(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<IReadOnlyPagedCollection<T>> GetPage<T>(
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
|
||||
namespace Octokit.Internal
|
||||
namespace Octokit.Internal
|
||||
{
|
||||
public class ApiResponse<T> : IApiResponse<T>
|
||||
{
|
||||
@@ -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<string, string> 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)
|
||||
{
|
||||
|
||||
@@ -309,7 +309,7 @@ namespace Octokit
|
||||
Endpoint = uri
|
||||
};
|
||||
var response = await Run<object>(request, CancellationToken.None);
|
||||
return response.StatusCode;
|
||||
return response.HttpResponse.StatusCode;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -328,7 +328,7 @@ namespace Octokit
|
||||
Endpoint = uri
|
||||
};
|
||||
var response = await Run<object>(request, CancellationToken.None);
|
||||
return response.StatusCode;
|
||||
return response.HttpResponse.StatusCode;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -347,7 +347,7 @@ namespace Octokit
|
||||
Endpoint = uri
|
||||
};
|
||||
var response = await Run<object>(request, CancellationToken.None);
|
||||
return response.StatusCode;
|
||||
return response.HttpResponse.StatusCode;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -369,7 +369,7 @@ namespace Octokit
|
||||
Endpoint = uri
|
||||
};
|
||||
var response = await Run<object>(request, CancellationToken.None);
|
||||
return response.StatusCode;
|
||||
return response.HttpResponse.StatusCode;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -14,11 +14,6 @@ namespace Octokit
|
||||
/// </summary>
|
||||
T Body { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The response status code.
|
||||
/// </summary>
|
||||
HttpStatusCode StatusCode { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The original non-deserialized http response.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user