diff --git a/server/httpproxy/controllers/proxy.js b/server/httpproxy/controllers/proxy.js index c7c2138..23385e0 100644 --- a/server/httpproxy/controllers/proxy.js +++ b/server/httpproxy/controllers/proxy.js @@ -68,6 +68,31 @@ async function get(session) { }; async function post(session) { + console.log('post data', session.getBody()); + const postData = session.getBody(); + const seqId = session.request('seq_id'); + const targetUrl = session.request('target_url'); + const cbUrl = session.request('cb_url'); + const reqJson = session.requestToJson(); + new Promise(async (resolve) => { + const params = utils.jsonDecode(session.request('params')); + const {err, data} = await http.post(targetUrl, params, postData); + const rspJson = { + 'errcode': 0, + 'errmsg': '', + 'seq_id': seqId, + 'req_json': reqJson, + 'data': data + }; + if (err) { + rspJson['errcode'] = 1; + rspJson['errmsg'] = '' + err; + } + console.log('data', data); + console.log('rspJson:' + utils.jsonEncode(rspJson)); + await http.get(cbUrl, rspJson); + }); + session.rspOk(); } function init() { diff --git a/server/httpproxy/package-lock.json b/server/httpproxy/package-lock.json index 1cda0ec..a04896e 100644 --- a/server/httpproxy/package-lock.json +++ b/server/httpproxy/package-lock.json @@ -15,10 +15,14 @@ "version": "1.0.0", "dependencies": { "axios": "^0.26.1", + "body-parser": "^1.20.0", "crc-32": "^1.2.1", "express": "^4.17.2", + "minimist": "^1.2.6", "mysql": "~2.18.1", + "node-xlsx": "^0.21.0", "querystring": "^0.2.1", + "redis": "^4.1.0", "urlencode": "^1.1.0" } }, @@ -32,10 +36,14 @@ "version": "file:../../third_party/j7", "requires": { "axios": "^0.26.1", + "body-parser": "^1.20.0", "crc-32": "^1.2.1", "express": "^4.17.2", + "minimist": "^1.2.6", "mysql": "~2.18.1", + "node-xlsx": "^0.21.0", "querystring": "^0.2.1", + "redis": "^4.1.0", "urlencode": "^1.1.0" } } diff --git a/server/httpproxy/session.js b/server/httpproxy/session.js index 0ceb5ea..0948f40 100644 --- a/server/httpproxy/session.js +++ b/server/httpproxy/session.js @@ -49,6 +49,10 @@ class Session { return utils.jsonEncode(this.req.query); } + getBody() { + return this.req.body; + } + } module.exports = Session; diff --git a/third_party/j7 b/third_party/j7 index f81baf8..e3b86e9 160000 --- a/third_party/j7 +++ b/third_party/j7 @@ -1 +1 @@ -Subproject commit f81baf8c264c00395b4dd27f900df6ffedceac08 +Subproject commit e3b86e927f2cbccc97a024bed1573c5ca24cbfde