]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/middlewares/pods.ts
require -> import
[github/Chocobozzz/PeerTube.git] / server / middlewares / pods.ts
CommitLineData
e02643f3 1import { REMOTE_SCHEME } from '../initializers'
1ab844d8 2
49abbbbe 3function setBodyHostsPort (req, res, next) {
b09ce645
C
4 if (!req.body.hosts) return next()
5
49abbbbe
C
6 for (let i = 0; i < req.body.hosts.length; i++) {
7 const hostWithPort = getHostWithPort(req.body.hosts[i])
1ab844d8
C
8
9 // Problem with the url parsing?
49abbbbe 10 if (hostWithPort === null) {
1ab844d8
C
11 return res.sendStatus(500)
12 }
13
49abbbbe 14 req.body.hosts[i] = hostWithPort
1ab844d8
C
15 }
16
17 return next()
18}
19
49abbbbe 20function setBodyHostPort (req, res, next) {
b09ce645
C
21 if (!req.body.host) return next()
22
49abbbbe 23 const hostWithPort = getHostWithPort(req.body.host)
1ab844d8
C
24
25 // Problem with the url parsing?
49abbbbe 26 if (hostWithPort === null) {
1ab844d8
C
27 return res.sendStatus(500)
28 }
29
49abbbbe 30 req.body.host = hostWithPort
1ab844d8
C
31
32 return next()
33}
34
35// ---------------------------------------------------------------------------
36
65fcc311
C
37export {
38 setBodyHostsPort,
39 setBodyHostPort
40}
1ab844d8
C
41
42// ---------------------------------------------------------------------------
43
49abbbbe
C
44function getHostWithPort (host) {
45 const splitted = host.split(':')
46
49abbbbe
C
47 // The port was not specified
48 if (splitted.length === 1) {
e02643f3 49 if (REMOTE_SCHEME.HTTP === 'https') return host + ':443'
49abbbbe
C
50
51 return host + ':80'
1ab844d8
C
52 }
53
49abbbbe 54 return host
1ab844d8 55}