add more helper methods

This commit is contained in:
2024-08-22 14:38:15 +02:00
parent 519c292a1f
commit ab268e6584
4 changed files with 13 additions and 3 deletions

View File

@@ -2,4 +2,9 @@
public abstract class ApiMessage
{
private class EmptyApiMessage : ApiMessage { }
public ApiMessage Empty { get; } = new EmptyApiMessage();
public bool IsEmpty => this is EmptyApiMessage;
}

View File

@@ -5,9 +5,11 @@ namespace Pilz.Net.Api;
public record class ApiResponse(
HttpStatusCode StatusCode)
{
public bool IsOk => StatusCode != HttpStatusCode.OK;
public void EnsureOk()
{
if (StatusCode != HttpStatusCode.OK)
if (!IsOk)
throw new Exception("Api return is not ok!");
}
}

View File

@@ -8,10 +8,13 @@ public record class ApiResponse<T>(
T? Message)
where T : ApiMessage
{
[MemberNotNullWhen(true, nameof(Message))]
public bool IsOk => StatusCode == HttpStatusCode.OK && Message is not null;
[MemberNotNull(nameof(Message))]
public void EnsureOk()
{
if (StatusCode != HttpStatusCode.OK || Message is null)
if (!IsOk)
throw new Exception("Api return is not ok!");
}
}

View File

@@ -7,7 +7,7 @@ namespace Pilz.Net;
public abstract class ConnectionManagerBase(int port)
{
private const int HEADER_LENGTH = 12;
private bool listening = false;
private readonly Dictionary<int, Dictionary<int, byte[]>> dicData = [];