UNPKG

httpao

Version:

Simple, lighweight http server module

28 lines (22 loc) 619 B
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(); };