From 65fcc3119c334b75dd13bcfdebf186afdc580a8f Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 15 May 2017 22:22:03 +0200 Subject: First typescript iteration --- server/middlewares/pods.ts | 57 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 server/middlewares/pods.ts (limited to 'server/middlewares/pods.ts') diff --git a/server/middlewares/pods.ts b/server/middlewares/pods.ts new file mode 100644 index 000000000..e405f265e --- /dev/null +++ b/server/middlewares/pods.ts @@ -0,0 +1,57 @@ +'use strict' + +const constants = require('../initializers/constants') + +function setBodyHostsPort (req, res, next) { + if (!req.body.hosts) return next() + + for (let i = 0; i < req.body.hosts.length; i++) { + const hostWithPort = getHostWithPort(req.body.hosts[i]) + + // Problem with the url parsing? + if (hostWithPort === null) { + return res.sendStatus(500) + } + + req.body.hosts[i] = hostWithPort + } + + return next() +} + +function setBodyHostPort (req, res, next) { + if (!req.body.host) return next() + + const hostWithPort = getHostWithPort(req.body.host) + + // Problem with the url parsing? + if (hostWithPort === null) { + return res.sendStatus(500) + } + + req.body.host = hostWithPort + + return next() +} + +// --------------------------------------------------------------------------- + +export { + setBodyHostsPort, + setBodyHostPort +} + +// --------------------------------------------------------------------------- + +function getHostWithPort (host) { + const splitted = host.split(':') + + // The port was not specified + if (splitted.length === 1) { + if (constants.REMOTE_SCHEME.HTTP === 'https') return host + ':443' + + return host + ':80' + } + + return host +} -- cgit v1.2.3