add more helper methods
This commit is contained in:
@@ -2,4 +2,9 @@
|
|||||||
|
|
||||||
public abstract class ApiMessage
|
public abstract class ApiMessage
|
||||||
{
|
{
|
||||||
|
private class EmptyApiMessage : ApiMessage { }
|
||||||
|
|
||||||
|
public ApiMessage Empty { get; } = new EmptyApiMessage();
|
||||||
|
|
||||||
|
public bool IsEmpty => this is EmptyApiMessage;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,9 +5,11 @@ namespace Pilz.Net.Api;
|
|||||||
public record class ApiResponse(
|
public record class ApiResponse(
|
||||||
HttpStatusCode StatusCode)
|
HttpStatusCode StatusCode)
|
||||||
{
|
{
|
||||||
|
public bool IsOk => StatusCode != HttpStatusCode.OK;
|
||||||
|
|
||||||
public void EnsureOk()
|
public void EnsureOk()
|
||||||
{
|
{
|
||||||
if (StatusCode != HttpStatusCode.OK)
|
if (!IsOk)
|
||||||
throw new Exception("Api return is not ok!");
|
throw new Exception("Api return is not ok!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,13 @@ public record class ApiResponse<T>(
|
|||||||
T? Message)
|
T? Message)
|
||||||
where T : ApiMessage
|
where T : ApiMessage
|
||||||
{
|
{
|
||||||
|
[MemberNotNullWhen(true, nameof(Message))]
|
||||||
|
public bool IsOk => StatusCode == HttpStatusCode.OK && Message is not null;
|
||||||
|
|
||||||
[MemberNotNull(nameof(Message))]
|
[MemberNotNull(nameof(Message))]
|
||||||
public void EnsureOk()
|
public void EnsureOk()
|
||||||
{
|
{
|
||||||
if (StatusCode != HttpStatusCode.OK || Message is null)
|
if (!IsOk)
|
||||||
throw new Exception("Api return is not ok!");
|
throw new Exception("Api return is not ok!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ namespace Pilz.Net;
|
|||||||
public abstract class ConnectionManagerBase(int port)
|
public abstract class ConnectionManagerBase(int port)
|
||||||
{
|
{
|
||||||
private const int HEADER_LENGTH = 12;
|
private const int HEADER_LENGTH = 12;
|
||||||
|
|
||||||
private bool listening = false;
|
private bool listening = false;
|
||||||
private readonly Dictionary<int, Dictionary<int, byte[]>> dicData = [];
|
private readonly Dictionary<int, Dictionary<int, byte[]>> dicData = [];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user