]>
Commit | Line | Data |
---|---|---|
e02643f3 | 1 | import { REMOTE_SCHEME } from '../initializers' |
1ab844d8 | 2 | |
49abbbbe | 3 | function 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 | 20 | function 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 |
37 | export { |
38 | setBodyHostsPort, | |
39 | setBodyHostPort | |
40 | } | |
1ab844d8 C |
41 | |
42 | // --------------------------------------------------------------------------- | |
43 | ||
49abbbbe C |
44 | function 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 | } |