Class PersonalDataAnalyzerUnavailableException
- Namespace
- MailFathom.Application.SensitiveContent.Detection
- Assembly
- MailFathom.Application.dll
The failure a personal-data analyzer that cannot answer is reported as, for a deployment whose scanner is switched on.
public sealed class PersonalDataAnalyzerUnavailableException : MailFathomException, ISerializable
- Inheritance
-
PersonalDataAnalyzerUnavailableException
- Implements
- Inherited Members
Remarks
Raised by IPersonalDataAnalyzerProbe and by nothing on a serving path. The scanner fails closed, so an instance in this state refuses every guarded read, derived write, and egress for as long as it lasts; what the readiness probe does with that is take the instance out of traffic, which is diagnosed at once, while an instance that logged and went on serving is not.
No message here carries the analyzer's address, because a message is what reaches a log and
src/AGENTS.md § Failures lists a host name beside a credential among the things one may never carry.
Each one names SensitiveContent:PersonalDataAnalyzer:Endpoint instead — the key an operator edits to
repair any of these three states, and the one thing they need to be told, since the value is already in the file they
would open. The resolved address stays on Endpoint for a caller with somewhere safe to put it. Nor does
a message carry anything the analyzer wrote: the status a refusal is reported with is the caller's own rendering
of the status code, because a proxy or a wrong service at that address composes both the body and the reason phrase.
Properties
- Endpoint
Gets the analyzer address the probe could not get an answer from.
- ErrorCode
Gets the stable code identifying this failure to a boundary that must report it without naming a type.
Methods
- DetectsNothingFor(string, SensitiveContentCategory)
Reports that the analyzer detects nothing the switched-on categories map onto.
- DidNotAnswerInTime(string, TimeSpan)
Reports that the analyzer did not answer the whole availability probe within the budget one scrape is allowed.
- NotReached(string, Exception)
Reports that the configured analyzer could not be reached at all.
- RecognizesNothingIn(string, string)
Reports that the analyzer recognises nothing at all in one of the configured languages.
- Refused(string, string)
Reports that the analyzer answered the probe with a refusal.