Fix CARD production timeout with dns.setDefaultResultOrder('ipv4first')

The family:4 option on individual requests wasn't sufficient.
Node.js 18 needs dns.setDefaultResultOrder('ipv4first') called
at module load time to prevent IPv6 resolution attempts to
card.charter.com which is unreachable via IPv6 from this network.
This commit is contained in:
Jordan Ramos
2026-05-28 13:44:20 -06:00
parent 1256c7510f
commit 46dd2256f5
2 changed files with 6 additions and 0 deletions

View File

@@ -9,6 +9,11 @@
const https = require('https'); const https = require('https');
const http = require('http'); const http = require('http');
const dns = require('dns');
// Force IPv4-first DNS resolution — card.charter.com has both IPv4 and IPv6
// records but IPv6 is unreachable from this network, causing timeouts.
dns.setDefaultResultOrder('ipv4first');
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Configuration — read from process.env at module load // Configuration — read from process.env at module load

View File

@@ -3,6 +3,7 @@
* CARD API Connectivity Test * CARD API Connectivity Test
* Tests: token acquisition → teams list → sample asset lookup * Tests: token acquisition → teams list → sample asset lookup
*/ */
require('dns').setDefaultResultOrder('ipv4first');
require('dotenv').config({ path: require('path').join(__dirname, '..', '.env') }); require('dotenv').config({ path: require('path').join(__dirname, '..', '.env') });
const { isConfigured, missingVars, testConnection, getTeams } = require('../helpers/cardApi'); const { isConfigured, missingVars, testConnection, getTeams } = require('../helpers/cardApi');