From 0aa623f73804b8471b707927a9693fe69acdeafc Mon Sep 17 00:00:00 2001 From: wgapi Cloud9 Date: Sat, 16 Oct 2021 19:50:59 -0600 Subject: [PATCH] Moved middleware to new file --- index.js | 26 +++----------------------- middleware.js | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 23 deletions(-) create mode 100644 middleware.js diff --git a/index.js b/index.js index 1a6e58d..7dfa10f 100644 --- a/index.js +++ b/index.js @@ -1,28 +1,8 @@ 'use strict' const env = require('./env.json') - -// Determine DNS servers string from environment file -let DNS_SERVERS = [] -for (const server of env.SERVERS.filter((server) => server.dns) ){ - if (server.ipv4) DNS_SERVERS.push(server.ipv4) - if (server.ipv6) DNS_SERVERS.push(server.ipv6) -} -const DNS_SERVERS_STRING = DNS_SERVERS.join(', ') -const getDnsServers = (req, res, next) => { - req.DNS_SERVERS_STRING = DNS_SERVERS_STRING - next() -} - -// Determine request IP -const getRequester = (req, res, next) => { - req.requester = (env.ENV==='prod') - ?req.ip.replace('::ffff:','') - :'10.4.1.1' - next() -} - +const mw = require('./middleware.js') // Main require('express')() - .get('/add', getRequester, getDnsServers, require('./add.js')) - .get('/del', getRequester, require('./del.js')) + .get('/add', mw.getRequester, mw.getDnsServers, require('./add.js')) + .get('/del', mw.getRequester, require('./del.js')) .listen(env.PORT) diff --git a/middleware.js b/middleware.js new file mode 100644 index 0000000..ee521b4 --- /dev/null +++ b/middleware.js @@ -0,0 +1,27 @@ +'use strict' +const env = require('./env.json') + +// Get DNS Servers in a string for peer configs +// Do this on start, not every request! +let DNS_SERVERS = [] +for (const server of env.SERVERS.filter((server) => server.dns) ){ + if (server.ipv4) DNS_SERVERS.push(server.ipv4) + if (server.ipv6) DNS_SERVERS.push(server.ipv6) +} +const DNS_SERVERS_STRING = DNS_SERVERS.join(', ') + +module.exports = { + + getDnsServers: (req,res,next) => { + req.DNS_SERVERS_STRING = DNS_SERVERS_STRING + next() + }, + + getRequester: (req, res, next) => { + req.requester = (env.ENV==='prod') + ?req.ip.replace('::ffff:','') + :'10.4.1.1' + next() + } + +} \ No newline at end of file