uwebsockets
Version:
µWebSockets.js is a web server bypass for Node.js that reimplements eventing, networking, encryption, web protocols, routing and pub/sub in highly optimized C++. As such, µWebSockets.js (websockets) delivers web serving for Node.js, 8.5x that of Fastify a
37 lines (31 loc) • 1.02 kB
JavaScript
/* Minimal POST example a SSL/non-SSL */
/* todo: proper throttling, better example */
/* a good example would be using the router to get
* a file name and stream that file to disk */
const uWS = require('../dist/uws.js');
const port = 9001;
const app = uWS./*SSL*/App({
key_file_name: 'misc/key.pem',
cert_file_name: 'misc/cert.pem',
passphrase: '1234'
}).post('/*', (res, req) => {
console.log('Posted to ' + req.getUrl());
res.onData((chunk, isLast) => {
/* Buffer this anywhere you want to */
console.log('Got chunk of data with length ' + chunk.byteLength + ', isLast: ' + isLast);
/* We respond when we are done */
if (isLast) {
res.end('Thanks for the data!');
}
});
res.onAborted(() => {
/* Request was prematurely aborted, stop reading */
console.log('Eh, okay. Thanks for nothing!');
});
}).listen(port, (token) => {
if (token) {
console.log('Listening to port ' + port);
} else {
console.log('Failed to listen to port ' + port);
}
});