From e448936d34b140aa2658c77d2daa27566edd2ce2 Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <me@adhisimon.org> Date: Wed, 7 Aug 2019 22:14:46 +0700 Subject: [PATCH] Penggunaan parameter partner menggantikan from dan to --- lib/http-listener.js | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/lib/http-listener.js b/lib/http-listener.js index f56d16c..cf41adb 100644 --- a/lib/http-listener.js +++ b/lib/http-listener.js @@ -13,12 +13,35 @@ const messagesArchive = require('./messages-archive'); const app = express(); const port = config && config.listener && config.listener.http && config.listener.http.port ? config.listener.http.port : 32979; +/** + * Handler utama. + * + * @param {object} req - Express request object + * @param {object} req.query - Express query string object + * @param {string} [req.query.partner] - Partner (pengirim atau penerima) + * @param {string} [req.query.from] - Pengirim, OBSOLETED: gunakan parameter partner + * @param {string} [req.query.from_raw] - Pengirim tanpa suffix (raw), OBSOLETED: gunakan parameter partner_raw + * @param {string} [req.query.to] - Tujuan, jika is_outgoing, OBSOLETED: gunakan parameter partner + * @param {string} req.query.msg - Isi pesan + * @param {string} req.query.origin - Nama origin + * @param {string} [req.query.origin_label] - Nama origin untuk ditulis di histori pesan + * @param {string} [req.query.do_not_forward_to_core] - Apakah teruskan pesan ke CORE + * @param {string} [req.query.is_outgoing] - Apakah pesan keluar + * @param {object} res - Express response object + */ function mainHandler(req, res) { - if (!req.body) req.body = {}; - if (!req.query.from && !req.body.from) { - res.end('ERROR. Undefined parameter: from'); + if ( + ( !req.body.partner || !req.query.partner ) + && + ( + ( (!req.query.is_outgoing && !req.body.is_outgoing) && (!req.query.from && !req.body.from) ) + || + ( (req.query.is_outgoing || req.body.is_outgoing) && (!req.query.to && !req.body.to) ) + ) + ) { + res.end('ERROR. Undefined parameter: partner or from or to'); return; } @@ -31,13 +54,13 @@ function mainHandler(req, res) { { origin_label: req.body.origin_label || req.query.origin_label || req.body.origin || req.query.origin, origin_transport: req.body.origin_transport || req.query.origin_transport, - partner: req.body.from_raw || req.query.from_raw || req.body.from || req.query.from, + partner: req.body.partner_raw || req.query.partner_raw || req.body.from_raw || req.query.from_raw || req.body.from || req.query.from || req.body.to || req.query.to || req.body.partner || req.query.partner, msg: req.body.msg || req.query.msg, }, - messagesArchive.DIRECTION_INCOMING + ( req.body.is_outgoing || req.query.is_outgoing ) ? messagesArchive.DIRECTION_OUTGOING : messagesArchive.DIRECTION_INCOMING ); - if (req.body.do_not_forward_to_core || req.query.do_not_forward_to_core) { + if (req.body.do_not_forward_to_core || req.query.do_not_forward_to_core || req.body.is_outgoing || req.query.is_outgoing) { logger.verbose('Ignoring message', { from: req.body.from || req.query.from, msg: req.body.msg || req.query.msg, do_not_forward_to_core: req.body.do_not_forward_to_core || req.query.do_not_forward_to_core }); res.end('OK'); return; @@ -52,7 +75,7 @@ function mainHandler(req, res) { origin: req.body.origin || req.query.origin || 'MESSAGING', report_ip: req.body.report_ip || req.query.report_ip || req.ip, report_port: req.body.report_port || req.query.report_port, - from: req.body.from || req.query.from, + from: req.body.partner || req.query.partner || req.body.from || req.query.from, msg: req.body.msg || req.query.msg } -- 1.9.0