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