Commit a83edfda70760245554c1bd29163cc7de20e61a3

Authored by Adhidarma Hadiwinoto
1 parent bfbbac9c8b
Exists in master

report_path_sms

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

lib/report-sender.js
1 'use strict'; 1 'use strict';
2 2
3 const request = require('request'); 3 const request = require('request');
4 4
5 const config = require('komodo-sdk/config'); 5 const config = require('komodo-sdk/config');
6 const logger = require('komodo-sdk/logger'); 6 const logger = require('komodo-sdk/logger');
7 7
8 function incomingSMS(message, modemInfo) { 8 function incomingSMS(message, modemInfo) {
9 if (!message || !config || !config.report_url || !config.report_url.incoming_sms) return; 9 if (!message || !config || !config.report_url || !config.report_url.incoming_sms) return;
10 10
11 if (!message.metadata) { 11 if (!message.metadata) {
12 const e = new Error('Missing metadata on incoming sms'); 12 const e = new Error('Missing metadata on incoming sms');
13 e.smsObj = message; 13 e.smsObj = message;
14 throw e; 14 throw e;
15 } 15 }
16 16
17 if (!message.metadata.from) { 17 if (!message.metadata.from) {
18 const e = new Error('Missing metadata.from on incoming sms'); 18 const e = new Error('Missing metadata.from on incoming sms');
19 e.smsObj = message; 19 e.smsObj = message;
20 throw e; 20 throw e;
21 } 21 }
22 22
23 if (!message.message) { 23 if (!message.message) {
24 const e = new Error('Missing message on incoming sms'); 24 const e = new Error('Missing message on incoming sms');
25 e.smsObj = message; 25 e.smsObj = message;
26 throw e; 26 throw e;
27 } 27 }
28 28
29 const requestOptions = { 29 const requestOptions = {
30 url: config.report_url.incoming_sms, 30 url: config.report_url.incoming_sms,
31 qs: { 31 qs: {
32 ts: message.metadata.ts, 32 ts: message.metadata.ts,
33 status: message.metadata.status, 33 status: message.metadata.status,
34 number: message.metadata.from, 34 number: message.metadata.from,
35 msg: message.message, 35 msg: message.message,
36 modem: config.name, 36 modem: config.name,
37 modem_imsi: modemInfo.imsi, 37 modem_imsi: modemInfo.imsi,
38 modem_msisdn: modemInfo.msisdn, 38 modem_msisdn: modemInfo.msisdn,
39 report_port: config.http_command_server.listen_port, 39 report_port: config.http_command_server.listen_port,
40 report_apikey: config.http_command_server.apikey, 40 report_apikey: config.http_command_server.apikey,
41 report_path_sms: '/sms',
41 }, 42 },
42 }; 43 };
43 44
44 logger.info('Sending report via HTTP', requestOptions); 45 logger.info('Sending report via HTTP', requestOptions);
45 request(requestOptions, (err, res, body) => { 46 request(requestOptions, (err, res, body) => {
46 if (err) { 47 if (err) {
47 logger.warn(`Error sending report via HTTP. ${err.toString()}`); 48 logger.warn(`Error sending report via HTTP. ${err.toString()}`);
48 return; 49 return;
49 } 50 }
50 51
51 if (res.statusCode !== 200) { 52 if (res.statusCode !== 200) {
52 logger.warn(`Error sending report via HTTP. Server respond with HTTP status code ${res.statusCode}`, { http_status_code: res.statusCode, body }); 53 logger.warn(`Error sending report via HTTP. Server respond with HTTP status code ${res.statusCode}`, { http_status_code: res.statusCode, body });
53 } 54 }
54 }); 55 });
55 } 56 }
56 57
57 exports.incomingSMS = incomingSMS; 58 exports.incomingSMS = incomingSMS;
58 59