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" ) ;
3
9
10
+ const Spec = require ( "../../specs/spec_1.js" ) ;
4
11
const JSONParser = require ( "../../formats/json/parser.js" ) ;
5
12
const Base64Parser = require ( "../../formats/base64.js" ) ;
6
-
7
13
const BinaryHTTPReceiver = require ( "./receiver_binary.js" ) ;
8
14
9
15
const {
10
16
isString,
11
17
isBase64
12
18
} = require ( "../../utils/fun.js" ) ;
13
19
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 ; } }
18
23
} ;
19
24
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 ; }
30
29
} ;
31
30
32
- const allowedContentTypes = [ ] ;
33
- allowedContentTypes . push ( Constants . MIME_JSON ) ;
34
- allowedContentTypes . push ( Constants . MIME_OCTET_STREAM ) ;
31
+ const allowedContentTypes = [ MIME_JSON , MIME_OCTET_STREAM ] ;
35
32
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 ] ;
41
35
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 }
74
45
} ;
75
46
76
47
// Leaving these in place for now. TODO: fixme
77
48
// eslint-disable-next-line
78
- function checkDecorator ( payload , headers ) {
79
- }
49
+ function checkDecorator ( payload , headers ) { }
80
50
81
51
// Leaving this in place for now. TODO: fixme
82
52
// eslint-disable-next-line
@@ -87,8 +57,8 @@ function Receiver(configuration) {
87
57
allowedContentTypes ,
88
58
requiredHeaders ,
89
59
Spec ,
90
- Constants . SPEC_V1 ,
91
- Constants . BINARY_HEADERS_1 . EXTENSIONS_PREFIX ,
60
+ SPEC_V1 ,
61
+ BINARY_HEADERS_1 . EXTENSIONS_PREFIX ,
92
62
checkDecorator
93
63
) ;
94
64
}
0 commit comments