From 2df90c7c310601ef6f05d93202c035c66b9b8c7b Mon Sep 17 00:00:00 2001 From: Bastien Dumont <bdumont@grandlyon.com> Date: Tue, 27 Feb 2024 14:38:18 +0100 Subject: [PATCH] add service ID --- src/core/contractVerification.js | 8 ++++++-- src/helpers/catch.js | 8 +++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/core/contractVerification.js b/src/core/contractVerification.js index db53cb5..c002bce 100644 --- a/src/core/contractVerification.js +++ b/src/core/contractVerification.js @@ -46,7 +46,11 @@ async function verifyContract(url, apiAuthKey, appLogin, contractId, pointId) { throw new Error(errors.CAPTCHA_RESOLUTION_FAILED) }) - catchRequestReject(response.body) + try { + catchRequestReject(response.body) + } catch (error) { + throw new Error(errors.CAPTCHA_RESOLUTION_FAILED) + } const parsedReply = await xml2js.parseStringPromise(response.body, { tagNameProcessors: [parseTags], @@ -82,7 +86,7 @@ async function verifyContract(url, apiAuthKey, appLogin, contractId, pointId) { section: 'verifyContract', }, }) - if (parsedReply.Envelope.Body.Fault) { + if (parsedReply?.Envelope?.Body?.Fault) { log( 'error', `Enedis issue ${parsedReply.Envelope.Body.Fault.detail.erreur.resultat.$.code}: ${parsedReply.Envelope.Body.Fault.faultstring}` diff --git a/src/helpers/catch.js b/src/helpers/catch.js index 7598f65..508cff5 100644 --- a/src/helpers/catch.js +++ b/src/helpers/catch.js @@ -1,7 +1,7 @@ -const { log, errors } = require('cozy-konnector-libs') +const { log } = require('cozy-konnector-libs') /** - * Throw a VENDOR_DOWN error if the response contains a "Request Rejected" + * Throw an error if the response contains a "Request Rejected" * Enedis might send a 429 status but the F5 always transform it to a 200 * @param {string} response * @example <html><head><title>Request Rejected</title></head> @@ -9,9 +9,11 @@ const { log, errors } = require('cozy-konnector-libs') */ function catchRequestReject(response) { if (response.includes('Request Rejected')) { + const supportID = response.replace(/\D/g, '') log('debug', response.slice(0, 100)) + log('error', `Support ID : ${supportID}`) log('error', 'Request Rejected') - throw new Error(errors.VENDOR_DOWN) + throw new Error('Request Rejected') } } -- GitLab