Files
KArtSell.Aegis/docs/Design/kbx-foundation-v60-status-canonical-contract-hardening/backend/Shared/Integrations/KbxIntegrationFailureClassifier.cs
T
kjh2064 3f293d8aa8
deploy / deploy (push) Successful in 1m52s
deploy / notify (push) Successful in 1s
V13-FE-006: consolidate approved UI and contract hardening
2026-08-13 02:41:00 +09:00

19 lines
668 B
C#

namespace Kbx.Shared.Integrations;
public static class KbxIntegrationFailureClassifier
{
public static KbxIntegrationFailureKind Classify(Exception error) => error switch
{
OperationCanceledException => KbxIntegrationFailureKind.Transient,
HttpRequestException => KbxIntegrationFailureKind.Transient,
_ => KbxIntegrationFailureKind.Permanent,
};
public static KbxIntegrationFailureKind ClassifyHttp(int statusCode) => statusCode switch
{
408 or 429 => KbxIntegrationFailureKind.Transient,
>= 500 and <= 599 => KbxIntegrationFailureKind.Transient,
_ => KbxIntegrationFailureKind.Permanent,
};
}