Commit ee9a82c7322c056acfee56e293966bd6e867c180
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 |