From e64d8f1c448b8c796ffec50038bd1bee917ece7e Mon Sep 17 00:00:00 2001 From: Chris Bishop Date: Tue, 10 Apr 2018 08:47:58 +0100 Subject: [PATCH 1/2] Statement forwarding now decodes &46; to . --- .../statementForwardingRequestHandler.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/worker/src/handlers/statement/statementForwarding/statementForwardingRequestHandler.js b/worker/src/handlers/statement/statementForwarding/statementForwardingRequestHandler.js index b6b2ed4d34..8c74861ece 100644 --- a/worker/src/handlers/statement/statementForwarding/statementForwardingRequestHandler.js +++ b/worker/src/handlers/statement/statementForwarding/statementForwardingRequestHandler.js @@ -11,6 +11,7 @@ import { STATEMENT_FORWARDING_REQUEST_DELAYED_QUEUE, } from 'lib/constants/statements'; import * as Queue from 'lib/services/queue'; +import decodeDot from 'lib/helpers/decodeDot'; const objectId = mongoose.Types.ObjectId; @@ -33,13 +34,15 @@ const sendRequest = async (statement, statementForwarding) => { const urlString = `${statementForwarding.configuration .protocol}://${statementForwarding.configuration.url}`; - const statementContent = JSON.stringify(statement); + const statementContent = decodeDot(JSON.stringify( + statement + )); const headers = generateHeaders(statementContent, statementForwarding); const request = popsicle.request({ method: 'POST', - body: statement, + body: statementContent, url: urlString, headers, timeout: 16000, From b8a512e73db113d8a3ef59bcaea40f72d68b4bd1 Mon Sep 17 00:00:00 2001 From: Chris Bishop Date: Wed, 11 Apr 2018 13:41:41 +0100 Subject: [PATCH 2/2] Changed function used to decode . --- lib/models/statement.js | 2 +- .../statementForwardingRequestHandler.js | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/models/statement.js b/lib/models/statement.js index b385c56fa0..51116bd804 100644 --- a/lib/models/statement.js +++ b/lib/models/statement.js @@ -233,7 +233,7 @@ schema.statics.aggregateByAuth = function aggregateByAuth( }).catch(cb); }; -const mapDot = (data) => { +export const mapDot = (data) => { if (isPlainObject(data)) { const mappedData = mapKeys(data, (value, key) => decodeDot(key)); return mapValues(mappedData, mapDot); diff --git a/worker/src/handlers/statement/statementForwarding/statementForwardingRequestHandler.js b/worker/src/handlers/statement/statementForwarding/statementForwardingRequestHandler.js index 8c74861ece..98f4329114 100644 --- a/worker/src/handlers/statement/statementForwarding/statementForwardingRequestHandler.js +++ b/worker/src/handlers/statement/statementForwarding/statementForwardingRequestHandler.js @@ -2,7 +2,7 @@ import * as popsicle from 'popsicle'; import { assign } from 'lodash'; import { Map } from 'immutable'; import logger from 'lib/logger'; -import Statement from 'lib/models/statement'; +import Statement, { mapDot } from 'lib/models/statement'; import mongoose from 'mongoose'; import StatementForwarding from 'lib/models/statementForwarding'; import ForwardingRequestError from @@ -11,7 +11,6 @@ import { STATEMENT_FORWARDING_REQUEST_DELAYED_QUEUE, } from 'lib/constants/statements'; import * as Queue from 'lib/services/queue'; -import decodeDot from 'lib/helpers/decodeDot'; const objectId = mongoose.Types.ObjectId; @@ -34,7 +33,7 @@ const sendRequest = async (statement, statementForwarding) => { const urlString = `${statementForwarding.configuration .protocol}://${statementForwarding.configuration.url}`; - const statementContent = decodeDot(JSON.stringify( + const statementContent = JSON.stringify(mapDot( statement )); @@ -42,7 +41,7 @@ const sendRequest = async (statement, statementForwarding) => { const request = popsicle.request({ method: 'POST', - body: statementContent, + body: mapDot(statement), url: urlString, headers, timeout: 16000,