Compare View

switch
from
...
to
 
Commits (3)

Changes

Showing 9 changed files 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
1 1 const MODULE_NAME = 'CORE-CALLBACK.SENDER';
2 2  
3   -const axios = require('axios').default;
  3 +const axios = require('axios');
4 4 const config = require('komodo-sdk/config');
5 5 const logger = require('tektrans-logger');
6 6  
... ... @@ -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/inquiry.js
1   -const axios = require('axios').default;
  1 +const axios = require('axios');
2 2 const express = require('express');
3 3 const coreUrl = require('komodo-sdk/core-url');
4 4  
lib/partner-listener/routers/pay.js
1   -const axios = require('axios').default;
  1 +const axios = require('axios');
2 2 const express = require('express');
3 3 const coreUrl = require('komodo-sdk/core-url');
4 4  
lib/partner-listener/routers/product-price.js
... ... @@ -4,7 +4,7 @@ const RATE_LIMIT_MESSAGE = 'Rate limited. Cobalah satu menit lagi!\n';
4 4 const RATE_LIMIT_MAX = 2;
5 5 const RATE_LIMIT_WINDOW_MS = 60 * 1000;
6 6  
7   -const axios = require('axios').default;
  7 +const axios = require('axios');
8 8 const express = require('express');
9 9 const urlJoin = require('join-path');
10 10 const expressRateLimit = require('express-rate-limit');
lib/partner-listener/routers/product-tree.js
... ... @@ -4,7 +4,7 @@ const RATE_LIMIT_MESSAGE = 'Rate limited. Cobalah satu menit lagi!\n';
4 4 const RATE_LIMIT_MAX = 2;
5 5 const RATE_LIMIT_WINDOW_MS = 60 * 1000;
6 6  
7   -const axios = require('axios').default;
  7 +const axios = require('axios');
8 8 const express = require('express');
9 9 const urlJoin = require('join-path');
10 10 const expressRateLimit = require('express-rate-limit');
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  
1 1 {
2 2 "name": "komodo-center-httpget-x",
3   - "version": "0.16.5",
  3 + "version": "0.17.0",
4 4 "lockfileVersion": 2,
5 5 "requires": true,
6 6 "packages": {
7 7 "": {
8 8 "name": "komodo-center-httpget-x",
9   - "version": "0.16.5",
  9 + "version": "0.17.0",
10 10 "license": "ISC",
11 11 "dependencies": {
12   - "axios": "^0.19.2",
  12 + "axios": "^1.7.2",
13 13 "express": "^4.17.1",
14 14 "express-rate-limit": "^6.6.0",
15 15 "join-path": "^1.1.1",
... ... @@ -305,12 +305,26 @@
305 305 "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
306 306 },
307 307 "node_modules/axios": {
308   - "version": "0.19.2",
309   - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
310   - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
311   - "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410",
  308 + "version": "1.7.2",
  309 + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz",
  310 + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
312 311 "dependencies": {
313   - "follow-redirects": "1.5.10"
  312 + "follow-redirects": "^1.15.6",
  313 + "form-data": "^4.0.0",
  314 + "proxy-from-env": "^1.1.0"
  315 + }
  316 + },
  317 + "node_modules/axios/node_modules/form-data": {
  318 + "version": "4.0.0",
  319 + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
  320 + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
  321 + "dependencies": {
  322 + "asynckit": "^0.4.0",
  323 + "combined-stream": "^1.0.8",
  324 + "mime-types": "^2.1.12"
  325 + },
  326 + "engines": {
  327 + "node": ">= 6"
314 328 }
315 329 },
316 330 "node_modules/balanced-match": {
... ... @@ -1443,29 +1457,24 @@
1443 1457 "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
1444 1458 },
1445 1459 "node_modules/follow-redirects": {
1446   - "version": "1.5.10",
1447   - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
1448   - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
1449   - "dependencies": {
1450   - "debug": "=3.1.0"
1451   - },
  1460 + "version": "1.15.6",
  1461 + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
  1462 + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
  1463 + "funding": [
  1464 + {
  1465 + "type": "individual",
  1466 + "url": "https://github.com/sponsors/RubenVerborgh"
  1467 + }
  1468 + ],
1452 1469 "engines": {
1453 1470 "node": ">=4.0"
  1471 + },
  1472 + "peerDependenciesMeta": {
  1473 + "debug": {
  1474 + "optional": true
  1475 + }
1454 1476 }
1455 1477 },
1456   - "node_modules/follow-redirects/node_modules/debug": {
1457   - "version": "3.1.0",
1458   - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
1459   - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
1460   - "dependencies": {
1461   - "ms": "2.0.0"
1462   - }
1463   - },
1464   - "node_modules/follow-redirects/node_modules/ms": {
1465   - "version": "2.0.0",
1466   - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1467   - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1468   - },
1469 1478 "node_modules/forever-agent": {
1470 1479 "version": "0.6.1",
1471 1480 "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
... ... @@ -3304,6 +3313,11 @@
3304 3313 "node": ">= 0.10"
3305 3314 }
3306 3315 },
  3316 + "node_modules/proxy-from-env": {
  3317 + "version": "1.1.0",
  3318 + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
  3319 + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
  3320 + },
3307 3321 "node_modules/pseudomap": {
3308 3322 "version": "1.0.2",
3309 3323 "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
... ... @@ -4877,11 +4891,25 @@
4877 4891 "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
4878 4892 },
4879 4893 "axios": {
4880   - "version": "0.19.2",
4881   - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
4882   - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
  4894 + "version": "1.7.2",
  4895 + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz",
  4896 + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
4883 4897 "requires": {
4884   - "follow-redirects": "1.5.10"
  4898 + "follow-redirects": "^1.15.6",
  4899 + "form-data": "^4.0.0",
  4900 + "proxy-from-env": "^1.1.0"
  4901 + },
  4902 + "dependencies": {
  4903 + "form-data": {
  4904 + "version": "4.0.0",
  4905 + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
  4906 + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
  4907 + "requires": {
  4908 + "asynckit": "^0.4.0",
  4909 + "combined-stream": "^1.0.8",
  4910 + "mime-types": "^2.1.12"
  4911 + }
  4912 + }
4885 4913 }
4886 4914 },
4887 4915 "balanced-match": {
... ... @@ -5815,27 +5843,9 @@
5815 5843 "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
5816 5844 },
5817 5845 "follow-redirects": {
5818   - "version": "1.5.10",
5819   - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
5820   - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
5821   - "requires": {
5822   - "debug": "=3.1.0"
5823   - },
5824   - "dependencies": {
5825   - "debug": {
5826   - "version": "3.1.0",
5827   - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
5828   - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
5829   - "requires": {
5830   - "ms": "2.0.0"
5831   - }
5832   - },
5833   - "ms": {
5834   - "version": "2.0.0",
5835   - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
5836   - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
5837   - }
5838   - }
  5846 + "version": "1.15.6",
  5847 + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
  5848 + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA=="
5839 5849 },
5840 5850 "forever-agent": {
5841 5851 "version": "0.6.1",
... ... @@ -7249,6 +7259,11 @@
7249 7259 "ipaddr.js": "1.9.0"
7250 7260 }
7251 7261 },
  7262 + "proxy-from-env": {
  7263 + "version": "1.1.0",
  7264 + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
  7265 + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
  7266 + },
7252 7267 "pseudomap": {
7253 7268 "version": "1.0.2",
7254 7269 "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
1 1 {
2 2 "name": "komodo-center-httpget-x",
3   - "version": "0.16.5",
  3 + "version": "0.17.0",
4 4 "description": "Komodo center for HTTP GET - Rewrited",
5 5 "main": "index.js",
6 6 "scripts": {
... ... @@ -29,7 +29,7 @@
29 29 "should": "^13.2.3"
30 30 },
31 31 "dependencies": {
32   - "axios": "^0.19.2",
  32 + "axios": "^1.7.2",
33 33 "express": "^4.17.1",
34 34 "express-rate-limit": "^6.6.0",
35 35 "join-path": "^1.1.1",