Skip to content

Commit 0d56db7

Browse files
author
Julia Huang
committed
Make optional specs optional and reorganize files
Signed-off-by: Julia Huang <[email protected]>
1 parent 1024a70 commit 0d56db7

File tree

2 files changed

+31
-8
lines changed

2 files changed

+31
-8
lines changed

lib/bindings/http/binary_0_1.js

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,40 @@ HTTPBinary.prototype.emit = function(cloudevent){
1616
// Always set stuff in _config
1717
var _headers = _config["headers"];
1818

19+
// OPTIONAL CONTENT TYPE ATTRIBUTE
1920
if(cloudevent.getContenttype()) {
2021
_headers["Content-Type"] = cloudevent.getContenttype();
2122
}
2223

24+
// REQUIRED ATTRIBUTES
2325
_headers["CE-EventType"] = cloudevent.getType();
24-
if(cloudevent.getEventTypeVersion()) {
25-
_headers["CE-EventTypeVersion"] = cloudevent.getEventTypeVersion();
26-
}
2726
_headers["CE-CloudEventsVersion"] = cloudevent.getSpecversion();
2827
_headers["CE-Source"] = cloudevent.getSource();
2928
_headers["CE-EventID"] = cloudevent.getId();
29+
30+
// OPTIONAL ATTRIBUTES
31+
if(cloudevent.getEventTypeVersion()) {
32+
_headers["CE-EventTypeVersion"] = cloudevent.getEventTypeVersion();
33+
}
3034
if(cloudevent.getTime()) {
3135
_headers["CE-EventTime"] = cloudevent.getTime();
3236
}
33-
_headers["CE-SchemaURL"] = cloudevent.getSchemaurl();
37+
if(cloudevent.getSchemaurl()) {
38+
_headers["CE-SchemaURL"] = cloudevent.getSchemaurl();
39+
}
3440

3541
// Set the cloudevent payload
3642
_config["data"] = cloudevent.format().data;
3743

44+
// EXTENSION CONTEXT ATTRIBUTES
45+
var exts = cloudevent.getExtensions();
46+
for(var ext in exts){
47+
if({}.hasOwnProperty.call(exts, ext)){
48+
let capsExt = ext.charAt(0).toUpperCase() + ext.slice(1)
49+
_headers["CE-X-" + capsExt] = exts[ext];
50+
}
51+
}
52+
3853
// Return the Promise
3954
return axios.request(_config);
4055
};

lib/bindings/http/binary_0_2.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,29 @@ HTTPBinary.prototype.emit = function(cloudevent){
1717
// Always set stuff in _config
1818
var _headers = _config["headers"];
1919

20-
_headers["Content-Type"] = cloudevent.getContenttype();
20+
// OPTIONAL CONTENT TYPE ATTRIBUTE
21+
if (cloudevent.getContenttype()) {
22+
_headers["Content-Type"] = cloudevent.getContenttype();
23+
}
2124

25+
// REQUIRED ATTRIBUTES
2226
_headers["ce-type"] = cloudevent.getType();
2327
_headers["ce-specversion"] = cloudevent.getSpecversion();
2428
_headers["ce-source"] = cloudevent.getSource();
2529
_headers["ce-id"] = cloudevent.getId();
26-
if(cloudevent.getTime()) {
30+
31+
// OPTIONAL ATTRIBUTES
32+
if (cloudevent.getTime()) {
2733
_headers["ce-time"] = cloudevent.getTime();
2834
}
29-
_headers["ce-schemaurl"] = cloudevent.getSchemaurl();
35+
if (cloudevent.getSchemaurl()) {
36+
_headers["ce-schemaurl"] = cloudevent.getSchemaurl();
37+
}
3038

3139
// Set the cloudevent payload
3240
_config["data"] = cloudevent.format().data;
3341

34-
// Have extensions?
42+
// EXTENSION CONTEXT ATTRIBUTES
3543
var exts = cloudevent.getExtensions();
3644
for(var ext in exts){
3745
if({}.hasOwnProperty.call(exts, ext)){

0 commit comments

Comments
 (0)