Commit ae566890d7b00355bb41ead28ecb86ffd2d13301

Authored by Adhidarma Hadiwinoto
1 parent 2e715a750f
Exists in master

Webhook support

Showing 3 changed files with 33 additions and 0 deletions Side-by-side Diff

... ... @@ -8,6 +8,7 @@
8 8 "partner": {
9 9 "trust_proxy": ["loopback", "linklocal"],
10 10 "port": 25614,
  11 + "# webhook": "http://PLEASE_CHANGE_ME/PLEASE_CHANGE_ME",
11 12 "dump": false
12 13 },
13 14 "core": {
lib/core-callback/sender.js
... ... @@ -180,6 +180,21 @@ const sender = async (data, xid, retry) => {
180 180 delete matrix.callback_sender.active_sending[xid];
181 181 }
182 182  
  183 + if (config.listener.partner.webhook) {
  184 + try {
  185 + axios.post(config.listener.partner.webhook, {
  186 + webhookType: 'KOMODO-CENTER-HTTPGETX.CORE-CALLBACK',
  187 + body: params,
  188 + });
  189 + } catch (e) {
  190 + logger.warn(`${MODULE_NAME} F722520A: Exception on calling webhook`, {
  191 + xid,
  192 + eCode: e.code,
  193 + eMessage: e.message || e.toString(),
  194 + });
  195 + }
  196 + }
  197 +
183 198 dumper(
184 199 xid,
185 200 isHttpPost ? 'POST' : 'GET',
lib/partner-listener/routers/topup.js
1 1 const MODULE_NAME = 'PARTNER-LISTENER.ROUTER.TOPUP';
2 2  
3 3 const express = require('express');
  4 +const axios = require('axios');
4 5  
5 6 const config = require('komodo-sdk/config');
6 7 const logger = require('tektrans-logger');
... ... @@ -149,6 +150,22 @@ async function pageIndex(req, res) {
149 150 };
150 151  
151 152 res.json(responseToPartner);
  153 +
  154 + if (config.listener.partner.webhook) {
  155 + try {
  156 + axios.post(config.listener.partner.webhook, {
  157 + webhookType: 'KOMODO-CENTER-HTTPGETX.PARTNER-LISTENER.DIRECT-RESPONSE',
  158 + body: responseToPartner,
  159 + });
  160 + } catch (e) {
  161 + logger.warn(`${MODULE_NAME} ECC37ECA: Exception on calling webhook`, {
  162 + xid,
  163 + eCode: e.code,
  164 + eMessage: e.message || e.toString(),
  165 + });
  166 + }
  167 + }
  168 +
152 169 dumper(xid, req, responseToPartner);
153 170 }
154 171