It's very fast Web Server Node.js server based on uWebSockets.
And very easy to use.
npm i fast-ws-server
const fastWS = require('fast-ws-server')
const app = new fastWS({ /* options */ })
app.ws('/ws', ws => {
console.log(`Connected ${ws.remoteAddress}`)
ws.on('message', ({ data }) => {
ws.sendMessage(data)
})
ws.on('echo', ({ reply, data }) => {
reply(data)
})
})
app.post('/post', async (req, res) => {
const data = await req.body()
res.json(data)
})
app.get('/hello/:name', async (req, res, params) => {
res.render([
'<html>',
'<head><title>Hello</title></head>',
'<body><h1>Hello, ${escapeHTML(name)}</h1></body>',
'</html>'
].join(''), params)
})
app.get('/hello/:name/alert', async (req, res, params) => {
res.render([
'<html>',
'<head><title>Hello</title></head>',
'<body><script>alert("Hello, ${escapeVar(name, String)}")</script></body>',
'</html>'
].join(''), params)
})
app.serve('/*') // auto serve project /static/*
app.listen(3000, () => {
console.log('Listen on 3000')
})
- Simple to use
- Serve static files
- Simple WebSocket Framework
- Reload SSL when system signal HUP(1)
- Graceful shutdown
- Parse body data
- URL params parser
- Support for template engine
- Response from pipe stream
- Support cache
- Support for Socket.io
- Support for TypeScript
- Sub-route likes Express.js