From bcfd20bff4ad47cffd871339d0a9e0b92fc28fd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabio=20Jos=C3=A9?= Date: Tue, 16 Jul 2019 14:29:25 -0300 Subject: [PATCH] fix the for guard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fabio José --- lib/bindings/http/receiver_structured_0_2.js | 44 ++++++++++---------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/lib/bindings/http/receiver_structured_0_2.js b/lib/bindings/http/receiver_structured_0_2.js index 2af9971..001a223 100644 --- a/lib/bindings/http/receiver_structured_0_2.js +++ b/lib/bindings/http/receiver_structured_0_2.js @@ -15,36 +15,36 @@ parserByMime[Constants.MIME_CE_JSON] = jsonParserSpec02; const allowedContentTypes = []; allowedContentTypes.push(Constants.MIME_CE_JSON); -const setterReflections = {}; -setterReflections[Constants.STRUCTURED_ATTRS_02.TYPE] = { +const setterByAttribute = {}; +setterByAttribute[Constants.STRUCTURED_ATTRS_02.TYPE] = { name : "type", parser : (v) => v }; -setterReflections[Constants.STRUCTURED_ATTRS_02.SPEC_VERSION] = { +setterByAttribute[Constants.STRUCTURED_ATTRS_02.SPEC_VERSION] = { name : "specversion", parser : (v) => v }; -setterReflections[Constants.STRUCTURED_ATTRS_02.SOURCE] = { +setterByAttribute[Constants.STRUCTURED_ATTRS_02.SOURCE] = { name : "source", parser: (v) => v }; -setterReflections[Constants.STRUCTURED_ATTRS_02.ID] = { +setterByAttribute[Constants.STRUCTURED_ATTRS_02.ID] = { name : "id", parser : (v) => v }; -setterReflections[Constants.STRUCTURED_ATTRS_02.TIME] = { +setterByAttribute[Constants.STRUCTURED_ATTRS_02.TIME] = { name : "time", parser : (v) => new Date(Date.parse(v)) }; -setterReflections[Constants.STRUCTURED_ATTRS_02.SCHEMA_URL] = { +setterByAttribute[Constants.STRUCTURED_ATTRS_02.SCHEMA_URL] = { name: "schemaurl", parser: (v) => v }; -setterReflections[Constants.STRUCTURED_ATTRS_02.CONTENT_TYPE] = { +setterByAttribute[Constants.STRUCTURED_ATTRS_02.CONTENT_TYPE] = { name: "contenttype", parser: (v) => v }; -setterReflections[Constants.STRUCTURED_ATTRS_02.DATA] = { +setterByAttribute[Constants.STRUCTURED_ATTRS_02.DATA] = { name: "data", parser: (v) => v }; @@ -100,23 +100,25 @@ Receiver.prototype.parse = function(payload, headers) { var processedAttributes = []; var cloudevent = new Cloudevent(Spec02); - for(attribute in setterReflections) { - var setterName = setterReflections[attribute].name; - var parserFun = setterReflections[attribute].parser; - // invoke the setter function - cloudevent[setterName](parserFun(event[attribute])); + Array.from(Object.keys(setterByAttribute)) + .forEach(attribute => { + var setterName = setterByAttribute[attribute].name; + var parserFun = setterByAttribute[attribute].parser; - // to use ahead, for extensions processing - processedAttributes.push(attribute); - } + // invoke the setter function + cloudevent[setterName](parserFun(event[attribute])); + + // to use ahead, for extensions processing + processedAttributes.push(attribute); + }); // Every unprocessed attribute should be an extension Array.from(Object.keys(event)) - .filter(attribute => !processedAttributes.includes(attribute)) - .forEach(extension => - cloudevent.addExtension(extension, event[extension]) - ); + .filter(attribute => !processedAttributes.includes(attribute)) + .forEach(extension => + cloudevent.addExtension(extension, event[extension]) + ); return cloudevent; }