From c3238b153ca5c2f1787583295ec50ef172a55073 Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <me@adhisimon.org> Date: Thu, 5 Dec 2019 16:19:38 +0700 Subject: [PATCH] Ignore expired --- lib/apiserver/handler/on-received.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/apiserver/handler/on-received.js b/lib/apiserver/handler/on-received.js index 12bb6ef..a681b7d 100644 --- a/lib/apiserver/handler/on-received.js +++ b/lib/apiserver/handler/on-received.js @@ -1,3 +1,4 @@ +const moment = require('ts'); const config = require('komodo-sdk/config'); const logger = require('komodo-sdk/logger'); @@ -7,11 +8,28 @@ const modems = require('../../modems'); module.exports = (req, res) => { res.end('OK'); + const { + msg, msisdn, smsc, ts, + } = req.query; + + const sentTime = moment(ts, 'YYYY-MM-DD HH:mm:ss'); + const messageAgeInSeconds = Math.round(Number(new Date() - sentTime) / 1000); + const maxAgeInSeconds = 300; + + if (messageAgeInSeconds > maxAgeInSeconds) { + logger.warn('ON-RECEIVED: Got expired message from EVO-CP', { + qs: req.query, + messageAgeInSeconds, + maxAgeInSeconds, + }); + + return; + } + logger.info('ON-RECEIVED: Got message from EVO-CP', { qs: req.query, }); - const { msg, msisdn, smsc } = req.query; const modem = modems.modemsDictionary[smsc] || {}; const doNotForwardToCore = (msisdn.search(/(\+)*62/) !== 0) || (msisdn.length <= 8); -- 1.9.0