-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
32 lines (28 loc) · 953 Bytes
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const http = require('http')
const https = require('https')
const fs = require('fs')
const apiRouter = require('./router/apiRouter')
const citiesCCTVSRouter = require('./router/citiesCCTVSRouter')
const connections = new Map()
const server = http.createServer((req, res) => {
const requestURL = new URL(req.url, 'https://adalia.pp.ua')
const clientIP = req.headers['x-forwarded-for'] || req.socket.remoteAddress
console.log('clientIP', clientIP)
if (requestURL.pathname === '/cities') {
citiesCCTVSRouter(requestURL, res)
}
else if (requestURL.pathname === '/api') {
apiRouter(requestURL, connections, clientIP, res)
}
else if (requestURL.pathname === '/close') {
console.log('close')
connections.has(clientIP) && connections.get(clientIP).destroy()
connections.delete(clientIP)
res.writeHead(200, { 'access-control-allow-origin': '*' })
res.end(null)
}
else {
res.end()
}
})
server.listen(5000)