-
Notifications
You must be signed in to change notification settings - Fork 20
Validate retry configuration values #57
Copy link
Copy link
Open
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official CampaignCampaign: Official CampaignbugSomething isn't workingSomething isn't working
Metadata
Metadata
Assignees
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official CampaignCampaign: Official CampaignbugSomething isn't workingSomething isn't working
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
Validate retry configuration at client construction or request time so invalid values do not cause surprising delays, infinite loops, or silent retry failures.
Current Behaviour
RetryConfigaccepts optional values such asmaxRetries,baseDelayMs,maxDelayMs, andretryableStatuses, but the config validation only checksapiUrlandtimeoutMs.Expected Behaviour
Invalid retry settings should throw a clear
GuildPassErrorbefore requests are made.Suggested Implementation
Add retry config validation to
validateConfigfor global retry settings and toHttpClientfor per-request retry overrides. Reject negative retry counts, negative delays, empty or invalid status lists, and non-finite numeric values.Files or Areas Likely Affected
src/config/sdkConfig.tssrc/http/httpClient.tssrc/http/http.types.tssrc/errors/errorCodes.tstests/client.test.tstests/httpClient.test.tsAcceptance Criteria
maxRetriesvalues are rejectedmaxDelayMslower thanbaseDelayMsis handled intentionally or rejectedAdditional Notes
Assumption: failing fast is preferred over trying to correct malformed retry settings silently.