1- const Constants = require ( "./constants.js" ) ;
2- const Spec = require ( "../../specs/spec_1.js" ) ;
1+ const {
2+ MIME_JSON ,
3+ MIME_OCTET_STREAM ,
4+ ENCODING_BASE64 ,
5+ BINARY_HEADERS_1 ,
6+ HEADER_CONTENT_TYPE ,
7+ SPEC_V1
8+ } = require ( "./constants.js" ) ;
39
10+ const Spec = require ( "../../specs/spec_1.js" ) ;
411const JSONParser = require ( "../../formats/json/parser.js" ) ;
512const Base64Parser = require ( "../../formats/base64.js" ) ;
6-
713const BinaryHTTPReceiver = require ( "./receiver_binary.js" ) ;
814
915const {
1016 isString,
1117 isBase64
1218} = require ( "../../utils/fun.js" ) ;
1319
14- const parserByType = { } ;
15- parserByType [ Constants . MIME_JSON ] = new JSONParser ( ) ;
16- parserByType [ Constants . MIME_OCTET_STREAM ] = {
17- parse ( payload ) { return payload ; }
20+ const parserByType = {
21+ [ MIME_JSON ] : new JSONParser ( ) ,
22+ [ MIME_OCTET_STREAM ] : { parse ( payload ) { return payload ; } }
1823} ;
1924
20- const parsersByEncoding = { } ;
21- parsersByEncoding . null = parserByType ;
22- parsersByEncoding [ undefined ] = parserByType ;
23-
24- // base64
25- parsersByEncoding [ Constants . ENCODING_BASE64 ] = { } ;
26- parsersByEncoding [ Constants . ENCODING_BASE64 ] [ Constants . MIME_JSON ] =
27- new JSONParser ( new Base64Parser ( ) ) ;
28- parsersByEncoding [ Constants . ENCODING_BASE64 ] [ Constants . MIME_OCTET_STREAM ] = {
29- parse ( payload ) { return payload ; }
25+ const parsersByEncoding = { [ null ] : parserByType , [ undefined ] : parserByType , [ ENCODING_BASE64 ] : { } } ;
26+ parsersByEncoding [ ENCODING_BASE64 ] [ MIME_JSON ] = new JSONParser ( new Base64Parser ( ) ) ;
27+ parsersByEncoding [ ENCODING_BASE64 ] [ MIME_OCTET_STREAM ] = {
28+ parse ( payload ) { return payload ; }
3029} ;
3130
32- const allowedContentTypes = [ ] ;
33- allowedContentTypes . push ( Constants . MIME_JSON ) ;
34- allowedContentTypes . push ( Constants . MIME_OCTET_STREAM ) ;
31+ const allowedContentTypes = [ MIME_JSON , MIME_OCTET_STREAM ] ;
3532
36- const requiredHeaders = [ ] ;
37- requiredHeaders . push ( Constants . BINARY_HEADERS_1 . TYPE ) ;
38- requiredHeaders . push ( Constants . BINARY_HEADERS_1 . SPEC_VERSION ) ;
39- requiredHeaders . push ( Constants . BINARY_HEADERS_1 . SOURCE ) ;
40- requiredHeaders . push ( Constants . BINARY_HEADERS_1 . ID ) ;
33+ const requiredHeaders = [ BINARY_HEADERS_1 . TYPE , BINARY_HEADERS_1 . SPEC_VERSION ,
34+ BINARY_HEADERS_1 . SOURCE , BINARY_HEADERS_1 . ID ] ;
4135
42- const setterByHeader = { } ;
43- setterByHeader [ Constants . BINARY_HEADERS_1 . TYPE ] = {
44- name : "type" ,
45- parser : ( v ) => v
46- } ;
47- setterByHeader [ Constants . BINARY_HEADERS_1 . SPEC_VERSION ] = {
48- name : "specversion" ,
49- parser : ( ) => "1.0"
50- } ;
51- setterByHeader [ Constants . BINARY_HEADERS_1 . SOURCE ] = {
52- name : "source" ,
53- parser : ( v ) => v
54- } ;
55- setterByHeader [ Constants . BINARY_HEADERS_1 . ID ] = {
56- name : "id" ,
57- parser : ( v ) => v
58- } ;
59- setterByHeader [ Constants . BINARY_HEADERS_1 . TIME ] = {
60- name : "time" ,
61- parser : ( v ) => new Date ( Date . parse ( v ) )
62- } ;
63- setterByHeader [ Constants . BINARY_HEADERS_1 . DATA_SCHEMA ] = {
64- name : "dataschema" ,
65- parser : ( v ) => v
66- } ;
67- setterByHeader [ Constants . HEADER_CONTENT_TYPE ] = {
68- name : "dataContentType" ,
69- parser : ( v ) => v
70- } ;
71- setterByHeader [ Constants . BINARY_HEADERS_1 . SUBJECT ] = {
72- name : "subject" ,
73- parser : ( v ) => v
36+ const setterByHeader = {
37+ [ BINARY_HEADERS_1 . TYPE ] : { name : "type" , parser : ( v ) => v } ,
38+ [ BINARY_HEADERS_1 . SPEC_VERSION ] : { name : "specversion" , parser : ( ) => "1.0" } ,
39+ [ BINARY_HEADERS_1 . SOURCE ] : { name : "source" , parser : ( v ) => v } ,
40+ [ BINARY_HEADERS_1 . ID ] : { name : "id" , parser : ( v ) => v } ,
41+ [ BINARY_HEADERS_1 . TIME ] : { name : "time" , parser : ( v ) => new Date ( Date . parse ( v ) ) } ,
42+ [ BINARY_HEADERS_1 . DATA_SCHEMA ] : { name : "dataschema" , parser : ( v ) => v } ,
43+ [ HEADER_CONTENT_TYPE ] : { name : "dataContentType" , parser : ( v ) => v } ,
44+ [ BINARY_HEADERS_1 . SUBJECT ] : { name : "subject" , parser : ( v ) => v }
7445} ;
7546
7647// Leaving these in place for now. TODO: fixme
7748// eslint-disable-next-line
78- function checkDecorator ( payload , headers ) {
79- }
49+ function checkDecorator ( payload , headers ) { }
8050
8151// Leaving this in place for now. TODO: fixme
8252// eslint-disable-next-line
@@ -87,8 +57,8 @@ function Receiver(configuration) {
8757 allowedContentTypes ,
8858 requiredHeaders ,
8959 Spec ,
90- Constants . SPEC_V1 ,
91- Constants . BINARY_HEADERS_1 . EXTENSIONS_PREFIX ,
60+ SPEC_V1 ,
61+ BINARY_HEADERS_1 . EXTENSIONS_PREFIX ,
9262 checkDecorator
9363 ) ;
9464}
0 commit comments