1
0
Fork 0
peertube/server/middlewares/servers.ts

43 lines
975 B
TypeScript
Raw Normal View History

2017-06-10 20:15:25 +00:00
import 'express-validator'
import * as express from 'express'
2017-05-22 18:58:25 +00:00
import { REMOTE_SCHEME } from '../initializers'
2017-06-10 20:15:25 +00:00
function setBodyHostsPort (req: express.Request, res: express.Response, next: express.NextFunction) {
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()
}
// ---------------------------------------------------------------------------
2017-05-15 20:22:03 +00:00
export {
2017-11-23 17:04:48 +00:00
setBodyHostsPort
2017-05-15 20:22:03 +00:00
}
// ---------------------------------------------------------------------------
2017-06-10 20:15:25 +00:00
function getHostWithPort (host: string) {
const splitted = host.split(':')
// The port was not specified
if (splitted.length === 1) {
2017-05-22 18:58:25 +00:00
if (REMOTE_SCHEME.HTTP === 'https') return host + ':443'
return host + ':80'
}
return host
}