Commit 2925763acb998d621fd5695592b8ed64b4d1b973
1 parent
050d92ffb6
Exists in
master
and in
1 other branch
trust proxy
Showing 2 changed files with 7 additions and 0 deletions Inline Diff
config.sample.json
1 | { | 1 | { |
2 | "name": "HTTPGETX", | 2 | "name": "HTTPGETX", |
3 | 3 | ||
4 | "# core_url": "Silahkan diisi dengan core url, bisa dikosongkan jika ingin membaca dari main config komodo", | 4 | "# core_url": "Silahkan diisi dengan core url, bisa dikosongkan jika ingin membaca dari main config komodo", |
5 | "core_url": "", | 5 | "core_url": "", |
6 | 6 | ||
7 | "listener": { | 7 | "listener": { |
8 | "partner": { | 8 | "partner": { |
9 | "port": 25614 | 9 | "port": 25614 |
10 | }, | ||
11 | "core": { | ||
12 | "port": 25615 | ||
10 | } | 13 | } |
11 | }, | 14 | }, |
12 | 15 | ||
13 | "# cluster": "Diisi dengan boolean atau angka jumlah anak yang akan dibuat. Jika diisi boolean true, jumlah anak akan dihitung otomatis", | 16 | "# cluster": "Diisi dengan boolean atau angka jumlah anak yang akan dibuat. Jika diisi boolean true, jumlah anak akan dihitung otomatis", |
14 | "cluster": false | 17 | "cluster": false |
15 | } | 18 | } |
lib/partner-listener/index.js
1 | const DEFAULT_LISTENER_FROM_PARTNER_PORT = 25614; | 1 | const DEFAULT_LISTENER_FROM_PARTNER_PORT = 25614; |
2 | 2 | ||
3 | const express = require('express'); | 3 | const express = require('express'); |
4 | 4 | ||
5 | const config = require('komodo-sdk/config'); | 5 | const config = require('komodo-sdk/config'); |
6 | const logger = require('komodo-sdk/logger'); | 6 | const logger = require('komodo-sdk/logger'); |
7 | 7 | ||
8 | const middlewareCommon = require('../middlewares/common'); | 8 | const middlewareCommon = require('../middlewares/common'); |
9 | 9 | ||
10 | const routerInquiry = require('./routers/inquiry'); | 10 | const routerInquiry = require('./routers/inquiry'); |
11 | const routerPay = require('./routers/pay'); | 11 | const routerPay = require('./routers/pay'); |
12 | const routerTopup = require('./routers/topup'); | 12 | const routerTopup = require('./routers/topup'); |
13 | const routerTrxStatus = require('./routers/trx-status'); | 13 | const routerTrxStatus = require('./routers/trx-status'); |
14 | 14 | ||
15 | const app = express(); | 15 | const app = express(); |
16 | 16 | ||
17 | if (config.partner && config.partner.trust_proxy) { | ||
18 | app.set('trust proxy', config.partner.trust_proxy); | ||
19 | } | ||
20 | |||
17 | app.use(express.json({ extended: true })); | 21 | app.use(express.json({ extended: true })); |
18 | app.use(express.urlencoded({ extended: true })); | 22 | app.use(express.urlencoded({ extended: true })); |
19 | app.use(middlewareCommon); | 23 | app.use(middlewareCommon); |
20 | 24 | ||
21 | app.use('/ping', (req, res) => { | 25 | app.use('/ping', (req, res) => { |
22 | res.json({ | 26 | res.json({ |
23 | error: false, | 27 | error: false, |
24 | xid: res.locals.xid, | 28 | xid: res.locals.xid, |
25 | from_ip: req.ip, | 29 | from_ip: req.ip, |
26 | ts: new Date(), | 30 | ts: new Date(), |
27 | request: { | 31 | request: { |
28 | method: req.method, | 32 | method: req.method, |
29 | userAgent: req.get('user-agent'), | 33 | userAgent: req.get('user-agent'), |
30 | contentType: req.get('content-type'), | 34 | contentType: req.get('content-type'), |
31 | qs: req.query, | 35 | qs: req.query, |
32 | body: req.body, | 36 | body: req.body, |
33 | }, | 37 | }, |
34 | }); | 38 | }); |
35 | }); | 39 | }); |
36 | app.use('/inquiry', routerInquiry); | 40 | app.use('/inquiry', routerInquiry); |
37 | app.use('/pay', routerPay); | 41 | app.use('/pay', routerPay); |
38 | app.use('/topup', routerTopup); | 42 | app.use('/topup', routerTopup); |
39 | app.use('/trx-status', routerTrxStatus); | 43 | app.use('/trx-status', routerTrxStatus); |
40 | 44 | ||
41 | app.use((req, res) => { | 45 | app.use((req, res) => { |
42 | const { xid } = res.locals; | 46 | const { xid } = res.locals; |
43 | res.status(404).end(`KOMODO-HTTP-GET-X CENTER.\n404: Method not found.\n\nXID: ${xid}.\n`); | 47 | res.status(404).end(`KOMODO-HTTP-GET-X CENTER.\n404: Method not found.\n\nXID: ${xid}.\n`); |
44 | }); | 48 | }); |
45 | 49 | ||
46 | app.listen(config.listener.partner.port || DEFAULT_LISTENER_FROM_PARTNER_PORT, () => { | 50 | app.listen(config.listener.partner.port || DEFAULT_LISTENER_FROM_PARTNER_PORT, () => { |
47 | logger.info(`Listen from partner request on port ${config.listener.partner.port}`); | 51 | logger.info(`Listen from partner request on port ${config.listener.partner.port}`); |
48 | }).on('error', (e) => { | 52 | }).on('error', (e) => { |
49 | logger.error(`Can not listen request from partner on port ${config.listener.partner.port || DEFAULT_LISTENER_FROM_PARTNER_PORT}. ${e.toString()}`); | 53 | logger.error(`Can not listen request from partner on port ${config.listener.partner.port || DEFAULT_LISTENER_FROM_PARTNER_PORT}. ${e.toString()}`); |
50 | process.exit(1); | 54 | process.exit(1); |
51 | }); | 55 | }); |
52 | 56 |