Make optional specs optional and reorganize files

Signed-off-by: Julia Huang <julia@playground.global>
This commit is contained in:
Julia Huang 2019-06-11 14:38:07 -07:00
parent 1024a70d41
commit 0d56db725b
2 changed files with 31 additions and 8 deletions

View File

@ -16,25 +16,40 @@ HTTPBinary.prototype.emit = function(cloudevent){
// Always set stuff in _config // Always set stuff in _config
var _headers = _config["headers"]; var _headers = _config["headers"];
// OPTIONAL CONTENT TYPE ATTRIBUTE
if(cloudevent.getContenttype()) { if(cloudevent.getContenttype()) {
_headers["Content-Type"] = cloudevent.getContenttype(); _headers["Content-Type"] = cloudevent.getContenttype();
} }
// REQUIRED ATTRIBUTES
_headers["CE-EventType"] = cloudevent.getType(); _headers["CE-EventType"] = cloudevent.getType();
if(cloudevent.getEventTypeVersion()) {
_headers["CE-EventTypeVersion"] = cloudevent.getEventTypeVersion();
}
_headers["CE-CloudEventsVersion"] = cloudevent.getSpecversion(); _headers["CE-CloudEventsVersion"] = cloudevent.getSpecversion();
_headers["CE-Source"] = cloudevent.getSource(); _headers["CE-Source"] = cloudevent.getSource();
_headers["CE-EventID"] = cloudevent.getId(); _headers["CE-EventID"] = cloudevent.getId();
// OPTIONAL ATTRIBUTES
if(cloudevent.getEventTypeVersion()) {
_headers["CE-EventTypeVersion"] = cloudevent.getEventTypeVersion();
}
if(cloudevent.getTime()) { if(cloudevent.getTime()) {
_headers["CE-EventTime"] = cloudevent.getTime(); _headers["CE-EventTime"] = cloudevent.getTime();
} }
if(cloudevent.getSchemaurl()) {
_headers["CE-SchemaURL"] = cloudevent.getSchemaurl(); _headers["CE-SchemaURL"] = cloudevent.getSchemaurl();
}
// Set the cloudevent payload // Set the cloudevent payload
_config["data"] = cloudevent.format().data; _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)
_headers["CE-X-" + capsExt] = exts[ext];
}
}
// Return the Promise // Return the Promise
return axios.request(_config); return axios.request(_config);
}; };

View File

@ -17,21 +17,29 @@ HTTPBinary.prototype.emit = function(cloudevent){
// Always set stuff in _config // Always set stuff in _config
var _headers = _config["headers"]; var _headers = _config["headers"];
// OPTIONAL CONTENT TYPE ATTRIBUTE
if (cloudevent.getContenttype()) {
_headers["Content-Type"] = cloudevent.getContenttype(); _headers["Content-Type"] = cloudevent.getContenttype();
}
// REQUIRED ATTRIBUTES
_headers["ce-type"] = cloudevent.getType(); _headers["ce-type"] = cloudevent.getType();
_headers["ce-specversion"] = cloudevent.getSpecversion(); _headers["ce-specversion"] = cloudevent.getSpecversion();
_headers["ce-source"] = cloudevent.getSource(); _headers["ce-source"] = cloudevent.getSource();
_headers["ce-id"] = cloudevent.getId(); _headers["ce-id"] = cloudevent.getId();
if(cloudevent.getTime()) {
// OPTIONAL ATTRIBUTES
if (cloudevent.getTime()) {
_headers["ce-time"] = cloudevent.getTime(); _headers["ce-time"] = cloudevent.getTime();
} }
if (cloudevent.getSchemaurl()) {
_headers["ce-schemaurl"] = cloudevent.getSchemaurl(); _headers["ce-schemaurl"] = cloudevent.getSchemaurl();
}
// Set the cloudevent payload // Set the cloudevent payload
_config["data"] = cloudevent.format().data; _config["data"] = cloudevent.format().data;
// Have extensions? // EXTENSION CONTEXT ATTRIBUTES
var exts = cloudevent.getExtensions(); var exts = cloudevent.getExtensions();
for(var ext in exts){ for(var ext in exts){
if({}.hasOwnProperty.call(exts, ext)){ if({}.hasOwnProperty.call(exts, ext)){