From 95dd27c5497eded0eb887b82f5f1ba631c15817a Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 4 Jul 2022 17:24:18 +0200 Subject: [PATCH 1/3] feat(crons): changed env handler feat(api): changed env handler feat(alerts): changed env handler --- ee/api/env_vars.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ee/api/env_vars.sh b/ee/api/env_vars.sh index 5892bd10c..bb3d42646 100755 --- a/ee/api/env_vars.sh +++ b/ee/api/env_vars.sh @@ -1,5 +1,6 @@ #!/bin/bash +touch .env.override if [[ -z "${ENV_CONFIG_OVERRIDE_PATH}" ]]; then echo 'no env-override' else @@ -7,7 +8,6 @@ else if [ -f "$override" ]; then cp $override .env.override else - touch .env.override echo "$override does not exist." fi From d94c22e50e4ab845afa4844bbd9392f2f2283cf0 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 4 Jul 2022 17:56:42 +0200 Subject: [PATCH 2/3] feat(assist): changed general helper --- ee/utilities/servers/websocket-cluster.js | 4 +- ee/utilities/servers/websocket.js | 4 +- utilities/servers/websocket.js | 4 +- utilities/utils/helper.js | 51 ----------------------- 4 files changed, 9 insertions(+), 54 deletions(-) diff --git a/ee/utilities/servers/websocket-cluster.js b/ee/utilities/servers/websocket-cluster.js index 2b8a5f26c..b0649127c 100644 --- a/ee/utilities/servers/websocket-cluster.js +++ b/ee/utilities/servers/websocket-cluster.js @@ -1,7 +1,6 @@ const _io = require('socket.io'); const express = require('express'); const { - extractSessionInfo, extractPeerId, hasFilters, isValidSession, @@ -9,6 +8,9 @@ const { getValidAttributes, uniqueAutocomplete } = require('../utils/helper'); +const { + extractSessionInfo +} = require('../utils/assistHelper'); const { extractProjectKeyFromRequest, extractSessionIdFromRequest, diff --git a/ee/utilities/servers/websocket.js b/ee/utilities/servers/websocket.js index f870033c8..4fa61aa42 100644 --- a/ee/utilities/servers/websocket.js +++ b/ee/utilities/servers/websocket.js @@ -1,7 +1,6 @@ const _io = require('socket.io'); const express = require('express'); const { - extractSessionInfo, extractPeerId, hasFilters, isValidSession, @@ -9,6 +8,9 @@ const { getValidAttributes, uniqueAutocomplete } = require('../utils/helper'); +const { + extractSessionInfo +} = require('../utils/assistHelper'); const { extractProjectKeyFromRequest, extractSessionIdFromRequest, diff --git a/utilities/servers/websocket.js b/utilities/servers/websocket.js index df4b3b283..5636eafcc 100644 --- a/utilities/servers/websocket.js +++ b/utilities/servers/websocket.js @@ -1,7 +1,6 @@ const _io = require('socket.io'); const express = require('express'); const { - extractSessionInfo, extractPeerId, extractProjectKeyFromRequest, extractSessionIdFromRequest, @@ -12,6 +11,9 @@ const { getValidAttributes, uniqueAutocomplete } = require('../utils/helper'); +const { + extractSessionInfo +} = require('../utils/assistHelper'); const wsRouter = express.Router(); const UPDATE_EVENT = "UPDATE_SESSION"; const IDENTITIES = {agent: 'agent', session: 'session'}; diff --git a/utilities/utils/helper.js b/utilities/utils/helper.js index 7f1b4dca4..b9c20a6f3 100644 --- a/utilities/utils/helper.js +++ b/utilities/utils/helper.js @@ -1,5 +1,3 @@ -const uaParser = require('ua-parser-js'); -const {geoip} = require('./geoIP'); let PROJECT_KEY_LENGTH = parseInt(process.env.PROJECT_KEY_LENGTH) || 20; let debug = process.env.debug === "1" || false; const extractPeerId = (peerId) => { @@ -186,56 +184,7 @@ const uniqueAutocomplete = function (list) { } return _list; } -const BASE_sessionInfo = { - "pageTitle": "Page", - "active": true, - "live": true, - "sessionID": "0", - "metadata": {}, - "userID": "", - "userUUID": "", - "projectKey": "", - "revID": "", - "timestamp": 0, - "trackerVersion": "", - "isSnippet": true, - "userOs": "", - "userBrowser": "", - "userBrowserVersion": "", - "userDevice": "", - "userDeviceType": "", - "userCountry": "", - "projectId": 0 -}; -const extractSessionInfo = function (socket) { - if (socket.handshake.query.sessionInfo !== undefined) { - debug && console.log("received headers"); - debug && console.log(socket.handshake.headers); - socket.handshake.query.sessionInfo = JSON.parse(socket.handshake.query.sessionInfo); - socket.handshake.query.sessionInfo = {...BASE_sessionInfo, ...socket.handshake.query.sessionInfo}; - - let ua = uaParser(socket.handshake.headers['user-agent']); - socket.handshake.query.sessionInfo.userOs = ua.os.name || null; - socket.handshake.query.sessionInfo.userBrowser = ua.browser.name || null; - socket.handshake.query.sessionInfo.userBrowserVersion = ua.browser.version || null; - socket.handshake.query.sessionInfo.userDevice = ua.device.model || null; - socket.handshake.query.sessionInfo.userDeviceType = ua.device.type || 'desktop'; - socket.handshake.query.sessionInfo.userCountry = null; - if (geoip() !== null) { - debug && console.log(`looking for location of ${socket.handshake.headers['x-forwarded-for'] || socket.handshake.address}`); - try { - let country = geoip().country(socket.handshake.headers['x-forwarded-for'] || socket.handshake.address); - socket.handshake.query.sessionInfo.userCountry = country.country.isoCode; - } catch (e) { - debug && console.log("geoip-country failed"); - debug && console.log(e); - } - } - } -} - module.exports = { - extractSessionInfo, extractPeerId, request_logger, getValidAttributes, From 4f378610b8f31928274e8bdfba8a52d71bb4e9d4 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 4 Jul 2022 17:57:19 +0200 Subject: [PATCH 3/3] feat(assist): changed general helper --- utilities/utils/assistHelper.js | 59 +++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 utilities/utils/assistHelper.js diff --git a/utilities/utils/assistHelper.js b/utilities/utils/assistHelper.js new file mode 100644 index 000000000..942f2b4e5 --- /dev/null +++ b/utilities/utils/assistHelper.js @@ -0,0 +1,59 @@ +const uaParser = require('ua-parser-js'); +const {geoip} = require('./geoIP'); + +let debug = process.env.debug === "1" || false; + +const BASE_sessionInfo = { + "pageTitle": "Page", + "active": true, + "live": true, + "sessionID": "0", + "metadata": {}, + "userID": "", + "userUUID": "", + "projectKey": "", + "revID": "", + "timestamp": 0, + "trackerVersion": "", + "isSnippet": true, + "userOs": "", + "userBrowser": "", + "userBrowserVersion": "", + "userDevice": "", + "userDeviceType": "", + "userCountry": "", + "projectId": 0 +}; + + +const extractSessionInfo = function (socket) { + if (socket.handshake.query.sessionInfo !== undefined) { + debug && console.log("received headers"); + debug && console.log(socket.handshake.headers); + socket.handshake.query.sessionInfo = JSON.parse(socket.handshake.query.sessionInfo); + socket.handshake.query.sessionInfo = {...BASE_sessionInfo, ...socket.handshake.query.sessionInfo}; + + let ua = uaParser(socket.handshake.headers['user-agent']); + socket.handshake.query.sessionInfo.userOs = ua.os.name || null; + socket.handshake.query.sessionInfo.userBrowser = ua.browser.name || null; + socket.handshake.query.sessionInfo.userBrowserVersion = ua.browser.version || null; + socket.handshake.query.sessionInfo.userDevice = ua.device.model || null; + socket.handshake.query.sessionInfo.userDeviceType = ua.device.type || 'desktop'; + socket.handshake.query.sessionInfo.userCountry = null; + if (geoip() !== null) { + debug && console.log(`looking for location of ${socket.handshake.headers['x-forwarded-for'] || socket.handshake.address}`); + try { + let country = geoip().country(socket.handshake.headers['x-forwarded-for'] || socket.handshake.address); + socket.handshake.query.sessionInfo.userCountry = country.country.isoCode; + } catch (e) { + debug && console.log("geoip-country failed"); + debug && console.log(e); + } + } + } +} + + +module.exports = { + extractSessionInfo +}; \ No newline at end of file