Add request ip to request object (#4265)

* add the client ip to the request config object

* add the config ip to the trigger request object

* add the config ip to the functions request object

* add tests

* remove log

* remove log
This commit is contained in:
Gustav Ahlberg
2017-10-18 14:13:09 +02:00
committed by Florent Vilmart
parent 9376b4d04a
commit 70ad9e9ffd
4 changed files with 109 additions and 3 deletions

View File

@@ -54,7 +54,8 @@ export class FunctionsRouter extends PromiseRouter {
const request = {
params: params,
log: req.config.loggerController,
headers: req.headers,
headers: req.config.headers,
ip: req.config.ip,
jobName
};
const status = {
@@ -111,7 +112,8 @@ export class FunctionsRouter extends PromiseRouter {
user: req.auth && req.auth.user,
installationId: req.info.installationId,
log: req.config.loggerController,
headers: req.headers,
headers: req.config.headers,
ip: req.config.ip,
functionName
};

View File

@@ -106,12 +106,15 @@ export function handleParseHeaders(req, res, next) {
req.body = new Buffer(base64, 'base64');
}
const clientIp = getClientIp(req);
info.app = AppCache.get(info.appId);
req.config = new Config(info.appId, mount);
req.config.headers = req.headers || {};
req.config.ip = clientIp;
req.info = info;
if (info.masterKey && req.config.masterKeyIps && req.config.masterKeyIps.length !== 0 && req.config.masterKeyIps.indexOf(getClientIp(req)) === -1) {
if (info.masterKey && req.config.masterKeyIps && req.config.masterKeyIps.length !== 0 && req.config.masterKeyIps.indexOf(clientIp) === -1) {
return invalidRequest(req, res);
}

View File

@@ -144,6 +144,7 @@ export function getRequestObject(triggerType, auth, parseObject, originalParseOb
master: false,
log: config.loggerController,
headers: config.headers,
ip: config.ip,
};
if (originalParseObject) {
@@ -176,6 +177,7 @@ export function getRequestQueryObject(triggerType, auth, query, count, config, i
log: config.loggerController,
isGet,
headers: config.headers,
ip: config.ip,
};
if (!auth) {