fix(HTTP Request Node): Improve error handling for TCP socket errors when Continue On Fail is enabled (#6925)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2023-08-14 17:26:40 +02:00
committed by GitHub
parent 4e4a3cf7ab
commit 96ff1f847d
2 changed files with 9 additions and 16 deletions

View File

@@ -689,6 +689,8 @@ export async function proxyRequestToAxios(
// https://github.com/axios/axios/blob/master/lib/core/enhanceError.js
// Note: `code` is ignored as it's an expected part of the errorData.
if (error.isAxiosError) {
error.config = error.request = undefined;
error.options = pick(config ?? {}, ['url', 'method', 'data', 'headers']);
if (response) {
Logger.debug('Request proxied to Axios failed', { status: response.status });
let responseData = response.data;
@@ -712,23 +714,14 @@ export async function proxyRequestToAxios(
}
}
const message = `${response.status as number} - ${JSON.stringify(responseData)}`;
error.message = `${response.status as number} - ${JSON.stringify(responseData)}`;
throw Object.assign(error, {
message,
statusCode: response.status,
options: pick(config ?? {}, ['url', 'method', 'data', 'headers']),
error: responseData,
config: undefined,
request: undefined,
response: pick(response, ['headers', 'status', 'statusText']),
});
} else {
if (error instanceof Error && error.message.includes('SSL routines'))
throw new NodeSSLError(error);
throw Object.assign(error, {
options: pick(config ?? {}, ['url', 'method', 'data', 'headers']),
});
} else if (error instanceof Error && error.message.includes('SSL routines')) {
throw new NodeSSLError(error);
}
}