From 2ded71ff3bfdadf45f230c72f32c86172720dbd0 Mon Sep 17 00:00:00 2001 From: Taylor Downs Date: Thu, 4 Feb 2021 16:53:26 +0000 Subject: [PATCH] investigating the validateStatus function --- lib/Adaptor.js | 26 +++++++++++++++----------- lib/Utils.js | 6 ++++-- src/Adaptor.js | 25 +++++++++++-------------- src/Utils.js | 7 +++++-- 4 files changed, 35 insertions(+), 29 deletions(-) diff --git a/lib/Adaptor.js b/lib/Adaptor.js index 807a8ae..4aeb83b 100644 --- a/lib/Adaptor.js +++ b/lib/Adaptor.js @@ -131,32 +131,36 @@ axios.interceptors.request.use(config => { }); function handleCookies(response) { - var _response$config; + const { + config, + data, + headers + } = response; - if ((_response$config = response.config) === null || _response$config === void 0 ? void 0 : _response$config.keepCookie) { + if (config.keepCookie) { let cookies; let keepCookies = []; - if (response.headers['set-cookie']) { - var _response$headers$set2; + if (headers['set-cookie']) { + var _headers$setCookie2; - if (response.headers['set-cookie'] instanceof Array) { - var _response$headers$set; + if (headers['set-cookie'] instanceof Array) { + var _headers$setCookie; - cookies = (_response$headers$set = response.headers['set-cookie']) === null || _response$headers$set === void 0 ? void 0 : _response$headers$set.map(Cookie.parse); + cookies = (_headers$setCookie = headers['set-cookie']) === null || _headers$setCookie === void 0 ? void 0 : _headers$setCookie.map(Cookie.parse); } else { - cookies = [Cookie.parse(response.headers['set-cookie'])]; + cookies = [Cookie.parse(headers['set-cookie'])]; } - (_response$headers$set2 = response.headers['set-cookie']) === null || _response$headers$set2 === void 0 ? void 0 : _response$headers$set2.forEach(c => { - cookiejar.setCookie(Cookie.parse(c), response.config.url, (err, cookie) => { + (_headers$setCookie2 = headers['set-cookie']) === null || _headers$setCookie2 === void 0 ? void 0 : _headers$setCookie2.forEach(c => { + cookiejar.setCookie(Cookie.parse(c), config.url, (err, cookie) => { keepCookies === null || keepCookies === void 0 ? void 0 : keepCookies.push(cookie === null || cookie === void 0 ? void 0 : cookie.cookieString()); }); }); } return { ...response, - data: { ...response.data, + data: { ...data, __cookie: (keepCookies === null || keepCookies === void 0 ? void 0 : keepCookies.length) === 1 ? keepCookies[0] : keepCookies, __headers: response.headers } diff --git a/lib/Utils.js b/lib/Utils.js index 54e822b..44361bc 100644 --- a/lib/Utils.js +++ b/lib/Utils.js @@ -111,7 +111,7 @@ function mapToAxiosConfig(requestConfig) { } } - return { ...requestConfig, + const finalConfig = { ...requestConfig, url: (_requestConfig$url = (_requestConfig8 = requestConfig) === null || _requestConfig8 === void 0 ? void 0 : _requestConfig8.url) !== null && _requestConfig$url !== void 0 ? _requestConfig$url : (_requestConfig9 = requestConfig) === null || _requestConfig9 === void 0 ? void 0 : _requestConfig9.uri, // https: // requestConfig?.https ?? @@ -140,9 +140,10 @@ function mapToAxiosConfig(requestConfig) { // onDownloadProgress, // maxContentLength, // maxBodyLength, - validateStatus: function (status) { + validateStatus: status => { var _requestConfig20, _requestConfig20$opti, _requestConfig20$opti2; + console.log('Status received by axios', status); return status >= 200 && status < 300 || ((_requestConfig20 = requestConfig) === null || _requestConfig20 === void 0 ? void 0 : (_requestConfig20$opti = _requestConfig20.options) === null || _requestConfig20$opti === void 0 ? void 0 : (_requestConfig20$opti2 = _requestConfig20$opti.successCodes) === null || _requestConfig20$opti2 === void 0 ? void 0 : _requestConfig20$opti2.includes(status)); }, maxRedirects: (_requestConfig$maxRed = (_requestConfig21 = requestConfig) === null || _requestConfig21 === void 0 ? void 0 : _requestConfig21.maxRedirects) !== null && _requestConfig$maxRed !== void 0 ? _requestConfig$maxRed : ((_requestConfig22 = requestConfig) === null || _requestConfig22 === void 0 ? void 0 : _requestConfig22.followAllRedirects) === false ? 0 : 5 // socketPath, @@ -153,4 +154,5 @@ function mapToAxiosConfig(requestConfig) { // decompress, }; + return finalConfig; } diff --git a/src/Adaptor.js b/src/Adaptor.js index f7b5734..6a99d39 100644 --- a/src/Adaptor.js +++ b/src/Adaptor.js @@ -56,32 +56,29 @@ axios.interceptors.request.use(config => { }); function handleCookies(response) { - if (response.config?.keepCookie) { + const { config, data, headers } = response; + if (config.keepCookie) { let cookies; let keepCookies = []; - if (response.headers['set-cookie']) { - if (response.headers['set-cookie'] instanceof Array) { - cookies = response.headers['set-cookie']?.map(Cookie.parse); + if (headers['set-cookie']) { + if (headers['set-cookie'] instanceof Array) { + cookies = headers['set-cookie']?.map(Cookie.parse); } else { - cookies = [Cookie.parse(response.headers['set-cookie'])]; + cookies = [Cookie.parse(headers['set-cookie'])]; } - response.headers['set-cookie']?.forEach(c => { - cookiejar.setCookie( - Cookie.parse(c), - response.config.url, - (err, cookie) => { - keepCookies?.push(cookie?.cookieString()); - } - ); + headers['set-cookie']?.forEach(c => { + cookiejar.setCookie(Cookie.parse(c), config.url, (err, cookie) => { + keepCookies?.push(cookie?.cookieString()); + }); }); } return { ...response, data: { - ...response.data, + ...data, __cookie: keepCookies?.length === 1 ? keepCookies[0] : keepCookies, __headers: response.headers, }, diff --git a/src/Utils.js b/src/Utils.js index 2705f57..499c50b 100644 --- a/src/Utils.js +++ b/src/Utils.js @@ -79,7 +79,7 @@ export function mapToAxiosConfig(requestConfig) { } } - return { + const finalConfig = { ...requestConfig, url: requestConfig?.url ?? requestConfig?.uri, // https: @@ -111,7 +111,8 @@ export function mapToAxiosConfig(requestConfig) { // onDownloadProgress, // maxContentLength, // maxBodyLength, - validateStatus: function (status) { + validateStatus: status => { + console.log('Status received by axios', status); return ( (status >= 200 && status < 300) || requestConfig?.options?.successCodes?.includes(status) @@ -127,4 +128,6 @@ export function mapToAxiosConfig(requestConfig) { // cancelToken, // decompress, }; + + return finalConfig; }