httpao
Version:
Simple, lighweight http server module
28 lines (22 loc) • 619 B
JavaScript
const net = require('net'),
EventEmitter = require('events'),
lib = require('./lib');
class HTTPAO extends EventEmitter {
constructor () {
super();
net.Server.call(this, {allowHalfOpen: true}, this._handler);
}
_handler (socket) {
var res,
req = new lib.InComing(socket);
req.on('parsed', () => {
res = new lib.OutGoing(socket, req);
this.emit('request', req, res);
});
}
}
Object.setPrototypeOf(HTTPAO.prototype, net.Server.prototype);
Object.setPrototypeOf(HTTPAO, net.Server);
module.exports = () => {
return new HTTPAO();
};