Open dgrelaud opened 2 years ago
Maybe have a look at: https://github.com/unjs/h3 , it's used in nuxt 3.
const uWS = require('uWebSockets.js');
const app = uWS.App().any('/*', handleRequest).listen(currentConfig.port, (token) => {
if (token) {
console.log('Listenin g to port ' + currentConfig.port);
} else {
console.log('Failed to listen to port ' + currentConfig.port);
}
});
function setRequest(rawRequest, rawResponse) {
const method = rawRequest.getMethod().toUpperCase();
const path = rawRequest.getUrl();
const query = rawRequest.getQuery();
const url = path + (query ? '?' + query : '');
const remote_ip = rawResponse.getRemoteAddressAsText();
const remote_proxy_ip = rawResponse.getProxiedRemoteAddressAsText();
const _req = {
method,
path,
query,
url,
remote_ip,
remote_proxy_ip,
connection : {
remoteAddress : remote_ip
},
headers : {}
}
rawRequest.forEach((key, value) => (_req.headers[key] = value));
return _req;
}
/**
* Handle incoming request
*
* @param {Object} req The request
* @param {Object} res The resource
*/
function handleRequest (res, rawReq) {
let req = setRequest(rawReq, res);
// blabla
}