return raw response
This commit is contained in:
@@ -41,7 +41,7 @@ public class ApiClient(string apiUrl) : IApiClient
|
||||
|
||||
var res = await Send(route, method, message, @params, serializer);
|
||||
|
||||
return new(res.StatusCode);
|
||||
return new(res);
|
||||
}
|
||||
|
||||
public virtual async Task<ApiResponse<TResponse>> SendRequest<TResponse>(string route, HttpMethod method, ApiMessage? message, ApiParameterCollection? @params, IApiMessageSerializer? serializer) where TResponse : ApiMessage
|
||||
@@ -56,7 +56,7 @@ public class ApiClient(string apiUrl) : IApiClient
|
||||
if (res.IsSuccessStatusCode)
|
||||
result = serializer.Deserialize(await res.Content.ReadAsStringAsync(), typeof(TResponse)) as TResponse;
|
||||
|
||||
return new(res.StatusCode, result);
|
||||
return new(res, result);
|
||||
}
|
||||
|
||||
protected virtual async Task<HttpResponseMessage> Send(string route, HttpMethod method, ApiMessage? message, ApiParameterCollection? @params, IApiMessageSerializer serializer)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
public abstract class ApiMessage
|
||||
{
|
||||
private class EmptyApiMessage : ApiMessage { }
|
||||
private class EmptyApiMessage : ApiMessage;
|
||||
|
||||
public static ApiMessage Empty { get; } = new EmptyApiMessage();
|
||||
|
||||
|
||||
@@ -3,8 +3,10 @@
|
||||
namespace Pilz.Net.Api;
|
||||
|
||||
public record class ApiResponse(
|
||||
HttpStatusCode StatusCode)
|
||||
HttpResponseMessage Response)
|
||||
{
|
||||
public HttpStatusCode StatusCode => Response.StatusCode;
|
||||
|
||||
public bool IsOk => StatusCode == HttpStatusCode.OK;
|
||||
|
||||
public void EnsureOk()
|
||||
|
||||
@@ -4,10 +4,12 @@ using System.Net;
|
||||
namespace Pilz.Net.Api;
|
||||
|
||||
public record class ApiResponse<T>(
|
||||
HttpStatusCode StatusCode,
|
||||
HttpResponseMessage Response,
|
||||
T? Message)
|
||||
where T : ApiMessage
|
||||
{
|
||||
public HttpStatusCode StatusCode => Response.StatusCode;
|
||||
|
||||
[MemberNotNullWhen(true, nameof(Message))]
|
||||
public bool IsOk => StatusCode == HttpStatusCode.OK && Message is not null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user