Skip to content

Propagate request options consistently across service methods #82

Description

@Lakes41

Difficulty: Hard

Type: Bug

Summary

Ensure all service methods pass request options such as timeoutMs, retry, and signal through to HttpClient consistently.

Current Behaviour

Some service methods spread or pass request options differently. For example, one access method passes only timeoutMs and retry, while another spreads the options object. This can cause cancellation signals or future request options to work in some methods but not others.

Expected Behaviour

All service methods should accept a common request options type and forward supported options consistently to the HTTP layer.

Suggested Implementation

Create one shared RequestOptions type and use it across access, membership, roles, and guild services. Ensure each method forwards timeoutMs, retry, signal, and any future safe request-level options.

Files or Areas Likely Affected

  • src/access/access.service.ts
  • src/membership/membership.service.ts
  • src/roles/roles.service.ts
  • src/guilds/guilds.service.ts
  • src/http/http.types.ts
  • src/types/common.ts
  • tests/

Acceptance Criteria

  • All public service methods accept the same request options shape where applicable
  • signal is forwarded to HttpClient from every supported service method
  • Per-request timeoutMs is forwarded consistently
  • Per-request retry overrides are forwarded consistently
  • Duplicate or conflicting RequestOptions imports are removed
  • Tests cover cancellation and timeout overrides for multiple services

Additional Notes

This should avoid changing the public service method names or response types.

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official Campaign

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions