cammelCase insteadof snake_case

Signed-off-by: Fabio José <fabiojose@gmail.com>
This commit is contained in:
Fabio José 2019-07-16 14:03:31 -03:00
parent 5fce2fcd74
commit aa6881e085
1 changed files with 42 additions and 42 deletions

View File

@ -5,49 +5,49 @@ const Spec02 = require("../../specs/spec_0_2.js");
const JSONParser = require("../../formats/json/parser.js"); const JSONParser = require("../../formats/json/parser.js");
const parser_by_type = {}; const parserByType = {};
parser_by_type[Constants.MIME_JSON] = new JSONParser(); parserByType[Constants.MIME_JSON] = new JSONParser();
const allowed_content_types = []; const allowedContentTypes = [];
allowed_content_types.push(Constants.MIME_JSON); allowedContentTypes.push(Constants.MIME_JSON);
const required_headers = []; const requiredHeaders = [];
required_headers.push(Constants.BINARY_HEADERS_02.TYPE); requiredHeaders.push(Constants.BINARY_HEADERS_02.TYPE);
required_headers.push(Constants.BINARY_HEADERS_02.SPEC_VERSION); requiredHeaders.push(Constants.BINARY_HEADERS_02.SPEC_VERSION);
required_headers.push(Constants.BINARY_HEADERS_02.SOURCE); requiredHeaders.push(Constants.BINARY_HEADERS_02.SOURCE);
required_headers.push(Constants.BINARY_HEADERS_02.ID); requiredHeaders.push(Constants.BINARY_HEADERS_02.ID);
const setter_reflections = {}; const setterReflections = {};
setter_reflections[Constants.BINARY_HEADERS_02.TYPE] = { setterReflections[Constants.BINARY_HEADERS_02.TYPE] = {
name : "type", name : "type",
parser : (v) => v parser : (v) => v
}; };
setter_reflections[Constants.BINARY_HEADERS_02.SPEC_VERSION] = { setterReflections[Constants.BINARY_HEADERS_02.SPEC_VERSION] = {
name : "specversion", name : "specversion",
parser : (v) => "0.2" parser : (v) => "0.2"
}; };
setter_reflections[Constants.BINARY_HEADERS_02.SOURCE] = { setterReflections[Constants.BINARY_HEADERS_02.SOURCE] = {
name : "source", name : "source",
parser: (v) => v parser: (v) => v
}; };
setter_reflections[Constants.BINARY_HEADERS_02.ID] = { setterReflections[Constants.BINARY_HEADERS_02.ID] = {
name : "id", name : "id",
parser : (v) => v parser : (v) => v
}; };
setter_reflections[Constants.BINARY_HEADERS_02.TIME] = { setterReflections[Constants.BINARY_HEADERS_02.TIME] = {
name : "time", name : "time",
parser : (v) => new Date(Date.parse(v)) parser : (v) => new Date(Date.parse(v))
}; };
setter_reflections[Constants.BINARY_HEADERS_02.SCHEMA_URL] = { setterReflections[Constants.BINARY_HEADERS_02.SCHEMA_URL] = {
name: "schemaurl", name: "schemaurl",
parser: (v) => v parser: (v) => v
}; };
setter_reflections[Constants.HEADER_CONTENT_TYPE] = { setterReflections[Constants.HEADER_CONTENT_TYPE] = {
name: "contenttype", name: "contenttype",
parser: (v) => v parser: (v) => v
}; };
function validate_args(payload, attributes) { function validateArgs(payload, attributes) {
if(!payload){ if(!payload){
throw {message: "payload is null or undefined"}; throw {message: "payload is null or undefined"};
} }
@ -70,30 +70,30 @@ function Receiver(configuration) {
Receiver.prototype.check = function(payload, headers) { Receiver.prototype.check = function(payload, headers) {
// Validation Level 0 // Validation Level 0
validate_args(payload, headers); validateArgs(payload, headers);
// Clone and low case all headers names // Clone and low case all headers names
var sanity_headers = Commons.sanity_and_clone(headers); var sanityHeaders = Commons.sanity_and_clone(headers);
// Validation Level 1 // Validation Level 1
if(!allowed_content_types if(!allowedContentTypes
.includes(sanity_headers[Constants.HEADER_CONTENT_TYPE])){ .includes(sanityHeaders[Constants.HEADER_CONTENT_TYPE])){
throw { throw {
message: "invalid content type", message: "invalid content type",
errors: [sanity_headers[Constants.HEADER_CONTENT_TYPE]] errors: [sanityHeaders[Constants.HEADER_CONTENT_TYPE]]
}; };
} }
for(i in required_headers){ for(i in requiredHeaders){
if(!sanity_headers[required_headers[i]]){ if(!sanityHeaders[requiredHeaders[i]]){
throw {message: "header '" + required_headers[i] + "' not found"}; throw {message: "header '" + requiredHeaders[i] + "' not found"};
} }
} }
if(sanity_headers[Constants.BINARY_HEADERS_02.SPEC_VERSION] !== "0.2"){ if(sanityHeaders[Constants.BINARY_HEADERS_02.SPEC_VERSION] !== "0.2"){
throw { throw {
message: "invalid spec version", message: "invalid spec version",
errors: [sanity_headers[Constants.BINARY_HEADERS_02.SPEC_VERSION]] errors: [sanityHeaders[Constants.BINARY_HEADERS_02.SPEC_VERSION]]
}; };
} }
@ -104,43 +104,43 @@ Receiver.prototype.parse = function(payload, headers) {
this.check(payload, headers); this.check(payload, headers);
// Clone and low case all headers names // Clone and low case all headers names
var sanity_headers = Commons.sanity_and_clone(headers); var sanityHeaders = Commons.sanity_and_clone(headers);
var processed_headers = []; var processedHeaders = [];
var cloudevent = new Cloudevent(Spec02); var cloudevent = new Cloudevent(Spec02);
for(header in setter_reflections) { for(header in setterReflections) {
// dont worry, check() have seen what was required or not // dont worry, check() have seen what was required or not
if(sanity_headers[header]){ if(sanityHeaders[header]){
var setter_name = setter_reflections[header].name; var setter_name = setterReflections[header].name;
var parser_fn = setter_reflections[header].parser; var parserFun = setterReflections[header].parser;
// invoke the setter function // invoke the setter function
cloudevent[setter_name](parser_fn(sanity_headers[header])); cloudevent[setter_name](parserFun(sanityHeaders[header]));
// to use ahead, for extensions processing // to use ahead, for extensions processing
processed_headers.push(header); processedHeaders.push(header);
} }
} }
// Parses the payload // Parses the payload
var parsed_payload = var parsedPayload =
parser_by_type[sanity_headers[Constants.HEADER_CONTENT_TYPE]] parserByType[sanityHeaders[Constants.HEADER_CONTENT_TYPE]]
.parse(payload); .parse(payload);
// Every unprocessed header should be an extension // Every unprocessed header should be an extension
Array.from(Object.keys(sanity_headers)) Array.from(Object.keys(sanityHeaders))
.filter(value => !processed_headers.includes(value)) .filter(value => !processedHeaders.includes(value))
.filter(value => .filter(value =>
value.startsWith(Constants.BINARY_HEADERS_02.EXTENSIONS_PREFIX)) value.startsWith(Constants.BINARY_HEADERS_02.EXTENSIONS_PREFIX))
.map(extension => .map(extension =>
extension.substring(Constants.BINARY_HEADERS_02.EXTENSIONS_PREFIX.length) extension.substring(Constants.BINARY_HEADERS_02.EXTENSIONS_PREFIX.length)
).forEach(extension => ).forEach(extension =>
cloudevent.addExtension(extension, cloudevent.addExtension(extension,
sanity_headers[Constants.BINARY_HEADERS_02.EXTENSIONS_PREFIX+extension]) sanityHeaders[Constants.BINARY_HEADERS_02.EXTENSIONS_PREFIX+extension])
); );
// Sets the data // Sets the data
cloudevent.data(parsed_payload); cloudevent.data(parsedPayload);
// Checks the event spec // Checks the event spec
cloudevent.format(); cloudevent.format();