Commit 82db0093f1890cfc6f38a43d05a37313f022c6ee

Authored by Adhidarma Hadiwinoto
1 parent 9bc589f562
Exists in master and in 1 other branch ad2mt

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

Showing 1 changed file with 2 additions and 0 deletions Inline Diff

1 "use strict"; 1 "use strict";
2 2
3 process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
4
3 const http = require('http'); 5 const http = require('http');
4 const url = require('url'); 6 const url = require('url');
5 const request = require('request'); 7 const request = require('request');
6 8
7 const config = require('komodo-sdk/config') 9 const config = require('komodo-sdk/config')
8 const logger = require('komodo-sdk/logger'); 10 const logger = require('komodo-sdk/logger');
9 11
10 let _callback; 12 let _callback;
11 13
12 function createHttpServer() { 14 function createHttpServer() {
13 let listenPort = config.center_port; 15 let listenPort = config.center_port;
14 16
15 http.createServer(onRequest).listen(listenPort, function() { 17 http.createServer(onRequest).listen(listenPort, function() {
16 logger.info('Center HTTP server listen on port ' + listenPort); 18 logger.info('Center HTTP server listen on port ' + listenPort);
17 });; 19 });;
18 } 20 }
19 21
20 function onRequest(req, res) { 22 function onRequest(req, res) {
21 23
22 let remote_address = req.socket.address().address.replace(/^::ffff:/, ''); 24 let remote_address = req.socket.address().address.replace(/^::ffff:/, '');
23 25
24 logger.verbose('Got a request from ' + remote_address); 26 logger.verbose('Got a request from ' + remote_address);
25 27
26 let qs = url.parse(req.url, true).query; 28 let qs = url.parse(req.url, true).query;
27 29
28 let partner = qs.terminal_name + '@' + remote_address; 30 let partner = qs.terminal_name + '@' + remote_address;
29 let password = qs.password; 31 let password = qs.password;
30 let reverse_url = qs.reverse_url; 32 let reverse_url = qs.reverse_url;
31 33
32 let product_name = qs.product_name; 34 let product_name = qs.product_name;
33 let destination = qs.destination; 35 let destination = qs.destination;
34 let request_id = qs.request_id; 36 let request_id = qs.request_id;
35 37
36 if (!qs.terminal_name || !password || !reverse_url || ! product_name || !destination || !request_id) { 38 if (!qs.terminal_name || !password || !reverse_url || ! product_name || !destination || !request_id) {
37 res.end('INVALID REQUEST'); 39 res.end('INVALID REQUEST');
38 return; 40 return;
39 } 41 }
40 42
41 let msg = [ product_name, destination, password, request_id ].join('.'); 43 let msg = [ product_name, destination, password, request_id ].join('.');
42 44
43 _callback.onIncomingMessage( 45 _callback.onIncomingMessage(
44 { 46 {
45 me: config.username, 47 me: config.username,
46 partner: partner, 48 partner: partner,
47 msg: msg.trim(), 49 msg: msg.trim(),
48 reverse_url: reverse_url 50 reverse_url: reverse_url
49 }, 51 },
50 52
51 function(err, _result) { 53 function(err, _result) {
52 let result = cleanResponseToPartner(_result); 54 let result = cleanResponseToPartner(_result);
53 55
54 logger.verbose('Forwarding CORE response to partner', _result); 56 logger.verbose('Forwarding CORE response to partner', _result);
55 res.end(JSON.stringify(result)); 57 res.end(JSON.stringify(result));
56 } 58 }
57 ) 59 )
58 } 60 }
59 61
60 function cleanResponseToPartner(_data) { 62 function cleanResponseToPartner(_data) {
61 let data = JSON.parse(JSON.stringify(_data)); 63 let data = JSON.parse(JSON.stringify(_data));
62 64
63 delete data.origin; 65 delete data.origin;
64 delete data.origin_report_ip; 66 delete data.origin_report_ip;
65 delete data.origin_report_port; 67 delete data.origin_report_port;
66 delete data.reverse_url; 68 delete data.reverse_url;
67 69
68 return data; 70 return data;
69 } 71 }
70 72
71 function init(cb) { 73 function init(cb) {
72 if (!cb) { 74 if (!cb) {
73 logger.warn('Callback is not defined'); 75 logger.warn('Callback is not defined');
74 console.trace(); 76 console.trace();
75 process.exit(1); 77 process.exit(1);
76 return; 78 return;
77 } 79 }
78 80
79 _callback = cb; 81 _callback = cb;
80 82
81 createHttpServer(); 83 createHttpServer();
82 } 84 }
83 85
84 function send(partner, msg, params) { 86 function send(partner, msg, params) {
85 logger.verbose('Got response from CORE', {partner: partner, msg: msg, params: params}); 87 logger.verbose('Got response from CORE', {partner: partner, msg: msg, params: params});
86 88
87 if (!params || !params.reverse_url) { 89 if (!params || !params.reverse_url) {
88 logger.verbose('Undefined reverse_url, not forwarding message to partner'); 90 logger.verbose('Undefined reverse_url, not forwarding message to partner');
89 return; 91 return;
90 } 92 }
91 93
92 94
93 let reqOptions = { 95 let reqOptions = {
94 url: params.reverse_url, 96 url: params.reverse_url,
95 qs: cleanResponseToPartner(params) 97 qs: cleanResponseToPartner(params)
96 } 98 }
97 99
98 logger.verbose('Sending reverse report to partner', {request: reqOptions}); 100 logger.verbose('Sending reverse report to partner', {request: reqOptions});
99 request(reqOptions, function(err, res, body) { 101 request(reqOptions, function(err, res, body) {
100 if (err) { 102 if (err) {
101 logger.warn('Error sending reverse report to partner', {request: reqOptions, err: err}); 103 logger.warn('Error sending reverse report to partner', {request: reqOptions, err: err});
102 return; 104 return;
103 } 105 }
104 106
105 if (res.statusCode != 200) { 107 if (res.statusCode != 200) {
106 logger.warn('Partner not returning HTTP status code 200 on reverse report', {request: reqOptions, http_status: res.statusCode}); 108 logger.warn('Partner not returning HTTP status code 200 on reverse report', {request: reqOptions, http_status: res.statusCode});
107 return; 109 return;
108 } 110 }
109 111
110 logger.verbose('Reverse report has been sent to partner', {request: reqOptions}); 112 logger.verbose('Reverse report has been sent to partner', {request: reqOptions});
111 }) 113 })
112 } 114 }
113 115
114 exports.init = init; 116 exports.init = init;
115 exports.send = send; 117 exports.send = send;
116 118