Commit ee9a82c7322c056acfee56e293966bd6e867c180

Authored by Adhidarma Hadiwinoto
1 parent 3cf0c97a8b
Exists in master

EVENTHANDLER: failed parsed

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

lib/smstools-handler/failed.js
1 const fs = require('fs'); 1 const fs = require('fs');
2 const logger = require('komodo-sdk/logger'); 2 const logger = require('komodo-sdk/logger');
3 const mailparser = require('../mailparser-wrapper');
3 4
4 const eventType = 'FAILED'; 5 const eventType = 'FAILED';
5 6
6 module.exports = async (msgFilename) => { 7 module.exports = async (msgFilename) => {
7 const msg = await fs.promises.readFile(msgFilename); 8 const msg = await fs.promises.readFile(msgFilename);
8 9
9 if (!msg) { 10 if (!msg) {
10 logger.warn('Sent failed detected but we can not read message file', { eventType, msgFile: msgFilename }); 11 logger.warn('Sent failed detected but we can not read message file', { eventType, msgFile: msgFilename });
11 return; 12 return;
12 } 13 }
13 14
14 logger.warn('Sent failed detected', { eventType, msgFile: msgFilename, msgFileContent: (msg || '').toString() }); 15 const parsedMsg = await mailparser(msg);
16 if (!parsedMsg || !parsedMsg.headers) {
17 logger.warn('Sent failed detected and we can not parsed message file', {
18 eventType,
19 msgFile: msgFilename,
20 msgFileContent: (msg || '').toString(),
21 });
22 return;
23 }
24
25 const to = parsedMsg.headers.get('to').text;
26 const modem = parsedMsg.headers.get('modem');
27 const imsi = parsedMsg.headers.get('imsi');
28 const imei = parsedMsg.headers.get('imei');
29 const failReason = parsedMsg.headers.get('fail_reason');
30 const failed = parsedMsg.headers.get('failed');
31 const { text } = parsedMsg;
32
33 logger.verbose('Sent failed detected', {
34 eventType,
35 to,
36 modem,
37 imsi,
38 imei,
39 failReason,
40 failed,
41 text,
42 });
15 }; 43 };
16 44