feat(http): add pooled HTTP client with timeout budgets for third-par…#1850
Conversation
|
@emteebug12-jpg Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
Great job so far There are just two blockers — the workflow is failing and the merge conflict. Could you take a look and fix it so all checks pass? |
…ty integrations Introduces PooledHttpClientService (HttpClientModule) backed by keep-alive http/https agents (maxSockets=50) and three named timeout budgets: short 3 s – health checks (Stellar Horizon, SendGrid) medium 8 s – moderation API, webhook delivery long 15 s – GitHub API (dependency freshness) Registers the module globally in AppModule and migrates ExternalModerationApiService, WebhookChannel, ExternalHealthService, and DependencyFreshnessService off ad-hoc axios calls onto the shared client. Adds 12 unit tests covering budget timeouts, agent reuse, and teardown. Closes EarnQuestOne#1153 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…dule, ModerationModule @global() only propagates when AppModule is the root — integration tests that bootstrap individual modules in isolation need the import directly on each module that provides a service depending on PooledHttpClientService. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
b009e58 to
43663bc
Compare
Updates pushedRebased onto latest main and fixed the integration test failures. Root cause: Fix: Added
Merge conflict: Upstream added |
|
You are almost there just update the Backend Module Changelog |
Adds [Unreleased] entries to jobs, health, moderation, and notifications module changelogs describing the migration to PooledHttpClientService. Creates a new CHANGELOG for the http-client common module documenting the initial addition of PooledHttpClientService and HttpClientModule. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Changelog updatedAdded
|
|
Thank you for contributing to the project. |
…ty integrations
Introduces PooledHttpClientService (HttpClientModule) backed by keep-alive http/https agents (maxSockets=50) and three named timeout budgets:
short 3 s – health checks (Stellar Horizon, SendGrid)
medium 8 s – moderation API, webhook delivery
long 15 s – GitHub API (dependency freshness)
Registers the module globally in AppModule and migrates ExternalModerationApiService, WebhookChannel, ExternalHealthService, and DependencyFreshnessService off ad-hoc axios calls onto the shared client. Adds 12 unit tests covering budget timeouts, agent reuse, and teardown.
Closes #1153