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