http-callback-handler.js 883 Bytes
const express = require('express');

const config = require('komodo-sdk/config');
const logger = require('tektrans-logger');

const bridge = require('./index');

const app = express();

function mainHandler(req, res) {
    res.end('OK');

    if (!req.body) req.body = {};
    logger.verbose('MESSAGING-CLIENT-LIB: Got a request from CORE', {
        ip: req.ip,
        qs: req.query,
        body: req.body,
    });

    bridge.sendToPartner(
        req.query.terminal_name || req.body.terminal_name, 
        req.query.message || req.body.message
    );
}

app.get('/', mainHandler);
app.post('/', express.urlencoded({extended: true}), express.json({extended: true}), mainHandler);

const port = config.callback_listen_port || config.listen_port;
port && app.listen(port, () => {
    logger.info('MESSAGING-CLIENT-LIB: HTTP callback for CORE response listen on port ' + port);
})