diff --git a/src/ZB.MOM.WW.ScadaBridge.Transport/Import/BundleUnlockRateLimitedException.cs b/src/ZB.MOM.WW.ScadaBridge.Transport/Import/BundleUnlockRateLimitedException.cs deleted file mode 100644 index 3e8bd70f..00000000 --- a/src/ZB.MOM.WW.ScadaBridge.Transport/Import/BundleUnlockRateLimitedException.cs +++ /dev/null @@ -1,35 +0,0 @@ -namespace ZB.MOM.WW.ScadaBridge.Transport.Import; - -/// -/// Thrown by when the caller -/// has exceeded the configured per-IP-per-hour unlock attempt cap -/// (). The 429-equivalent -/// signal: the caller must wait for the trailing-hour window to roll forward before -/// another passphrase attempt is accepted. -/// -public sealed class BundleUnlockRateLimitedException : Exception -{ - /// - /// Rate-limit key the limiter rejected the attempt against — the caller IP when - /// supplied, or the bundle's content hash as the architectural fallback (the - /// importer has no IHttpContext dependency by design). - /// - public string ClientKey { get; } - - /// Per-window cap that was reached. - public int Limit { get; } - - /// - /// Initializes a new . - /// - /// The rate-limit key that exceeded its budget. - /// The configured per-window cap. - public BundleUnlockRateLimitedException(string clientKey, int limit) - : base( - $"Bundle unlock rate limit reached ({limit} attempts per hour). " - + "Wait for the trailing-hour window to expire before retrying.") - { - ClientKey = clientKey ?? throw new ArgumentNullException(nameof(clientKey)); - Limit = limit; - } -}