-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
33 lines (31 loc) · 1009 Bytes
/
server.js
File metadata and controls
33 lines (31 loc) · 1009 Bytes
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
33
const http = require('http')
const url = require('url')
const file = require('./file')
// const User = require('./user')
// const db = require('./db')
function run () {
const server = new http.Server()
// server.listen(8888, '127.0.0.1')
server.listen(8888, '192.168.0.109')
server.on('request', (req, res) => {
const urlParsed = new url.URL(req.url, 'http://' + req.headers.host + '/')
console.log(urlParsed.pathname)
if (urlParsed.pathname === '/echo') {
res.setHeader('Cache-control', 'no-cache')
res.setHeader('Content-Type', ' text/html; charset=utf-8')
res.statusCode = 200
res.end(urlParsed.searchParams.get('message'))
} else if (urlParsed.pathname === '/chat_publish') {
require('./chat').publish(req, res)
} else if (urlParsed.pathname === '/chat_subscribe') {
require('./chat').subscribe(req, res)
} else {
file.send(urlParsed.pathname, res)
}
})
}
if (module.parent) {
module.exports.run = run
} else {
run()
}