From 00bd2e62e8c800cfe10a46aeeb597a5e31593fd4 Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Fri, 13 Jun 2025 08:14:16 +0200 Subject: [PATCH] introduce API-VERSION header --- Pilz.Net/Api/ApiServer.cs | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/Pilz.Net/Api/ApiServer.cs b/Pilz.Net/Api/ApiServer.cs index e83f70e..8a7ae23 100644 --- a/Pilz.Net/Api/ApiServer.cs +++ b/Pilz.Net/Api/ApiServer.cs @@ -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;