From 0b9b60b118bb18ca6d9b41ad54e138c59e76ed20 Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <me@adhisimon.org> Date: Fri, 20 Jan 2017 07:39:19 +0700 Subject: [PATCH] penanganan ipv6 hybrid remoteAddress --- xmlrpc-server.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/xmlrpc-server.js b/xmlrpc-server.js index 34e9b02..5399d96 100644 --- a/xmlrpc-server.js +++ b/xmlrpc-server.js @@ -79,8 +79,9 @@ function createDiyHttpXmlRpcServer() { } var httpServer = https.createServer(serverOptions, function(req, res) { + var remoteAddress = req.connection.remoteAddress.replace(/^::ffff:/, ''); - logger.verbose("Incoming connection from " + req.connection.remoteAddress); + logger.verbose("Incoming connection from " + remoteAddress); var body = ""; @@ -93,7 +94,7 @@ function createDiyHttpXmlRpcServer() { xml2jsParser(body, function(err, message) { if (err) { - logger.warn('Got XMLRPC invalid XML request body from ' + req.connection.remoteAddress, {body: body, err: err}); + logger.warn('Got XMLRPC invalid XML request body from ' + remoteAddress, {body: body, err: err}); res.end('Invalid XMLRPC request'); return; } @@ -106,17 +107,17 @@ function createDiyHttpXmlRpcServer() { _params = message.methodCall.params[0].param[0].value[0].struct[0].member; } catch(errSelectMethod) { - logger.warn('Failed to get method and params on request from ' + req.connection.remoteAddress); + logger.warn('Failed to get method and params on request from ' + remoteAddress); res.end('Invalid XMLRPC message') return; } - params = getXmlRpcParam(_params); - logger.info('Got XMLRPC request from ' + req.connection.remoteAddress, {method: method, params: params}); + var params = getXmlRpcParam(_params); + logger.info('Got XMLRPC request from ' + remoteAddress, {method: method, params: params}); if (method == 'topUpRequest') { - sendTopUpRequestToMaster(params, req.connection.remoteAddress, function(forwardError) { + sendTopUpRequestToMaster(params, remoteAddress, function(forwardError) { if (forwardError) { immediateReply(params, res, '40', forwardError.toString()); } else { @@ -127,7 +128,7 @@ function createDiyHttpXmlRpcServer() { } else if (method == 'topUpInquiry') { - sendTopUpInquryToMaster(params, req.connection.remoteAddress, res); + sendTopUpInquryToMaster(params, remoteAddress, res); } else { -- 1.9.0