introduce API-VERSION header

This commit is contained in:
Pilzinsel64
2025-06-13 08:14:16 +02:00
parent b1716837b5
commit 00bd2e62e8

View File

@@ -1,6 +1,5 @@
using Castle.Core.Logging;
using Pilz.Data;
using Pilz.Extensions.Collections;
using Pilz.Extensions.Reflection;
using System.Diagnostics.CodeAnalysis;
using System.Net;
@@ -34,33 +33,21 @@ public class ApiServer : IApiServer
public event DataManagerEventHandler? OnResetDataManager;
protected record PrivateParameterInfo(string Name, int Index);
protected record PrivateMessageHandler(string Url, bool UseRegEx, Delegate Handler, PrivateParameterInfo[] Parameters, ApiMessageHandlerAttribute Attribute);
protected record PrivateApiResult(ApiResult Original, object? ResultContent);
public string ApiUrl { get; }
public uint ApiVersion { get; set; } = 1;
public virtual bool EnableAuth { get; set; }
public IApiMessageSerializer Serializer { get; set; } = new DefaultApiMessageSerializer();
public ILogger Log { get; set; } = NullLogger.Instance;
public bool DebugMode { get; set; }
public bool AllowMultipleRequests { get; set; }
public int StopDelay { get; set; } = 5000;
public bool AutoRestartOnError { get; set; } = true;
public int MaxAutoRestartsPerMinute { get; set; } = 10;
public int MaxConcurentConnections { get; set; } = 5;
public IDataManager Manager => GetManager();
public bool ThreadedDataManager { get; set; }
public ApiServer(string apiUrl) : this(apiUrl, null)
@@ -450,6 +437,10 @@ public class ApiServer : IApiServer
return;
}
// Set response header
Log.Debug("Set response headers");
context.Response.AppendHeader("API-VERSION", ApiVersion.ToString());
// Set response parameters
Log.Debug("Set response parameters");
context.Response.StatusCode = (int)result.Original.StatusCode;