From 48707852099eb0da08c9bc0972386533cb51a90a Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Thu, 6 Aug 2026 17:28:31 -0400 Subject: [PATCH] docs(auth): #543 add the one-public-ctor remarks paragraph to the two newly-pinned interceptors ConfigServeAuthInterceptor and LocalDbSyncAuthInterceptor gained HasExactlyOnePublicConstructor pin tests in this branch but lacked the sibling-standard paragraph naming them (TelemetryStream/MeshCommand/CentralCommand all carry it). Cosmetic consistency item from the #543 code review. Claude-Session: https://claude.ai/code/session_014WNM4vjoVksyyBraTXSZE1 --- .../Configuration/ConfigServeAuthInterceptor.cs | 5 +++++ .../Configuration/LocalDbSyncAuthInterceptor.cs | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.Host/Configuration/ConfigServeAuthInterceptor.cs b/src/Server/ZB.MOM.WW.OtOpcUa.Host/Configuration/ConfigServeAuthInterceptor.cs index 0c0bda38..d313506e 100644 --- a/src/Server/ZB.MOM.WW.OtOpcUa.Host/Configuration/ConfigServeAuthInterceptor.cs +++ b/src/Server/ZB.MOM.WW.OtOpcUa.Host/Configuration/ConfigServeAuthInterceptor.cs @@ -33,6 +33,11 @@ namespace ZB.MOM.WW.OtOpcUa.Host.Configuration; /// wrong key cannot be recovered byte-by-byte from response timing. Length differences are /// unavoidably observable and are not sensitive. /// +/// +/// Exactly one public constructor. Grpc.AspNetCore silently stops invoking an +/// interceptor that has more than one public ctor — see +/// ConfigServeAuthInterceptorTests.HasExactlyOnePublicConstructor. +/// /// public sealed class ConfigServeAuthInterceptor : Interceptor { diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.Host/Configuration/LocalDbSyncAuthInterceptor.cs b/src/Server/ZB.MOM.WW.OtOpcUa.Host/Configuration/LocalDbSyncAuthInterceptor.cs index fc6ba41e..a8b52404 100644 --- a/src/Server/ZB.MOM.WW.OtOpcUa.Host/Configuration/LocalDbSyncAuthInterceptor.cs +++ b/src/Server/ZB.MOM.WW.OtOpcUa.Host/Configuration/LocalDbSyncAuthInterceptor.cs @@ -38,6 +38,11 @@ namespace ZB.MOM.WW.OtOpcUa.Host.Configuration; /// a wrong key cannot be recovered byte-by-byte from response timing. Length differences are /// unavoidably observable and are not sensitive. /// +/// +/// Exactly one public constructor. Grpc.AspNetCore silently stops invoking an +/// interceptor that has more than one public ctor — see +/// LocalDbSyncAuthInterceptorTests.HasExactlyOnePublicConstructor. +/// /// public sealed class LocalDbSyncAuthInterceptor : Interceptor {