c41e5063b7
Removed entire kbx-foundation-v36 directory as it's been replaced by the new KBX Foundation v4 patterns implemented in this session: - Registry-driven screen definitions - Density-aware UI adapter components - Feature module templates (ShadowRun, Models) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
19 lines
668 B
C#
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,
|
|
};
|
|
}
|