Removing the cyclomatic complexity
Signed-off-by: Fabio José <fabiojose@gmail.com>
This commit is contained in:
parent
7d67e27d07
commit
2c2df87058
|
@ -2,6 +2,48 @@ var axios = require("axios");
|
|||
|
||||
const Constants = require("./constants.js");
|
||||
|
||||
const headerByGetter = {};
|
||||
|
||||
headerByGetter["getContenttype"] = {
|
||||
name : Constants.HEADER_CONTENT_TYPE,
|
||||
parser : (v) => v
|
||||
};
|
||||
|
||||
headerByGetter["getType"] = {
|
||||
name : "CE-EventType",
|
||||
parser : (v) => v
|
||||
};
|
||||
|
||||
headerByGetter["getSpecversion"] = {
|
||||
name : "CE-CloudEventsVersion",
|
||||
parser : (v) => v
|
||||
};
|
||||
|
||||
headerByGetter["getSource"] = {
|
||||
name : "CE-Source",
|
||||
parser : (v) => v
|
||||
};
|
||||
|
||||
headerByGetter["getId"] = {
|
||||
name : "CE-EventID",
|
||||
parser : (v) => v
|
||||
};
|
||||
|
||||
headerByGetter["getEventTypeVersion"] = {
|
||||
name : "CE-EventTypeVersion",
|
||||
parser : (v) => v
|
||||
};
|
||||
|
||||
headerByGetter["getTime"] = {
|
||||
name : "CE-EventTime",
|
||||
parser : (v) => v
|
||||
};
|
||||
|
||||
headerByGetter["getSchemaurl"] = {
|
||||
name : "CE-SchemaURL",
|
||||
parser : (v) => v
|
||||
};
|
||||
|
||||
function HTTPBinary(configuration){
|
||||
this.config = JSON.parse(JSON.stringify(configuration));
|
||||
|
||||
|
@ -22,39 +64,27 @@ HTTPBinary.prototype.emit = function(cloudevent){
|
|||
// Always set stuff in _config
|
||||
var _headers = _config["headers"];
|
||||
|
||||
// OPTIONAL CONTENT TYPE ATTRIBUTE
|
||||
if(cloudevent.getContenttype()) {
|
||||
_headers[Constants.HEADER_CONTENT_TYPE] = cloudevent.getContenttype();
|
||||
}
|
||||
|
||||
// REQUIRED ATTRIBUTES
|
||||
_headers["CE-EventType"] = cloudevent.getType();
|
||||
_headers["CE-CloudEventsVersion"] = cloudevent.getSpecversion();
|
||||
_headers["CE-Source"] = cloudevent.getSource();
|
||||
_headers["CE-EventID"] = cloudevent.getId();
|
||||
|
||||
if(cloudevent.getEventTypeVersion()) {
|
||||
_headers["CE-EventTypeVersion"] = cloudevent.getEventTypeVersion();
|
||||
}
|
||||
|
||||
if(cloudevent.getTime()) {
|
||||
_headers["CE-EventTime"] = cloudevent.getTime();
|
||||
}
|
||||
if(cloudevent.getSchemaurl()) {
|
||||
_headers["CE-SchemaURL"] = cloudevent.getSchemaurl();
|
||||
}
|
||||
Object.keys(headerByGetter)
|
||||
.filter(getter => cloudevent[getter]())
|
||||
.forEach(getter => {
|
||||
let header = headerByGetter[getter];
|
||||
_headers[header.name] =
|
||||
header.parser(
|
||||
cloudevent[getter]()
|
||||
);
|
||||
});
|
||||
|
||||
// Set the cloudevent payload
|
||||
_config["data"] = cloudevent.format().data;
|
||||
|
||||
// EXTENSION CONTEXT ATTRIBUTES
|
||||
var exts = cloudevent.getExtensions();
|
||||
for(var ext in exts){
|
||||
if({}.hasOwnProperty.call(exts, ext)){
|
||||
let capsExt = ext.charAt(0).toUpperCase() + ext.slice(1)
|
||||
Object.keys(exts)
|
||||
.filter(ext => Object.hasOwnProperty.call(exts, ext))
|
||||
.forEach(ext => {
|
||||
let capsExt = ext.charAt(0).toUpperCase() + ext.slice(1);
|
||||
_headers["CE-X-" + capsExt] = exts[ext];
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Return the Promise
|
||||
return axios.request(_config);
|
||||
|
|
Loading…
Reference in New Issue