Skip to content

Commit f1c689f

Browse files
authored
fix UnknownEndpoint exception not thrown in Node14 (#3396)
1 parent 3d29b9c commit f1c689f

File tree

4 files changed

+31
-1
lines changed

4 files changed

+31
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"type": "bugfix",
3+
"category": "ErrorParser",
4+
"description": "fix UnknownEndpoint exception not thrown in Node14(#3393)"
5+
}

lib/event_listeners.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,13 @@ AWS.EventListeners = {
494494
add('EXTRACT_REQUEST_ID', 'extractError', AWS.util.extractRequestId);
495495

496496
add('ENOTFOUND_ERROR', 'httpError', function ENOTFOUND_ERROR(err) {
497-
if (err.code === 'NetworkingError' && err.errno === 'ENOTFOUND') {
497+
function isDNSError(err) {
498+
return err.errno === 'ENOTFOUND' ||
499+
typeof err.errno === 'number' &&
500+
typeof AWS.util.getSystemErrorName === 'function' &&
501+
['EAI_NONAME', 'EAI_NODATA'].indexOf(AWS.util.getSystemErrorName(err.errno) >= 0);
502+
}
503+
if (err.code === 'NetworkingError' && isDNSError(err)) {
498504
var message = 'Inaccessible host: `' + err.hostname +
499505
'\'. This service may not be available in the `' + err.region +
500506
'\' region.';

lib/node_loader.js

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ util.clientSideMonitoring = {
1919
configProvider: require('./publisher/configuration'),
2020
};
2121
util.iniLoader = require('./shared-ini').iniLoader;
22+
util.getSystemErrorName = require('util').getSystemErrorName;
2223

2324
var AWS;
2425

test/event_listeners.spec.js

+18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)