]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/middlewares/servers.ts
Display error message in signup page (#128)
[github/Chocobozzz/PeerTube.git] / server / middlewares / servers.ts
CommitLineData
69818c93
C
1import 'express-validator'
2import * as express from 'express'
3
e02643f3 4import { REMOTE_SCHEME } from '../initializers'
1ab844d8 5
69818c93 6function setBodyHostsPort (req: express.Request, res: express.Response, next: express.NextFunction) {
b09ce645
C
7 if (!req.body.hosts) return next()
8
49abbbbe
C
9 for (let i = 0; i < req.body.hosts.length; i++) {
10 const hostWithPort = getHostWithPort(req.body.hosts[i])
1ab844d8
C
11
12 // Problem with the url parsing?
49abbbbe 13 if (hostWithPort === null) {
1ab844d8
C
14 return res.sendStatus(500)
15 }
16
49abbbbe 17 req.body.hosts[i] = hostWithPort
1ab844d8
C
18 }
19
20 return next()
21}
22
1ab844d8
C
23// ---------------------------------------------------------------------------
24
65fcc311 25export {
d4f1e94c 26 setBodyHostsPort
65fcc311 27}
1ab844d8
C
28
29// ---------------------------------------------------------------------------
30
69818c93 31function getHostWithPort (host: string) {
49abbbbe
C
32 const splitted = host.split(':')
33
49abbbbe
C
34 // The port was not specified
35 if (splitted.length === 1) {
e02643f3 36 if (REMOTE_SCHEME.HTTP === 'https') return host + ':443'
49abbbbe
C
37
38 return host + ':80'
1ab844d8
C
39 }
40
49abbbbe 41 return host
1ab844d8 42}