AbstractHttpServer
AbstractHttpServer is a thin wrapper class over node's http server
Installation
npm i --save abstract-http-server
Usage
Supports both ESM and CommonJS
import AbstractHttpServer from 'abstract-http-server'
const AbstractHttpServer = require('abstract-http-server').default
Hello World Example
Create and start "hello world" server using AbstractHttpServer
import AbstractHttpServer from 'abstract-http-server'
class MyHttpServer extends AbstractHttpServer {
handleRequest(req, res) {
res.statusCode = 200
res.end('Hello World!')
}
}
const server = new MyHttpServer()
await server.start({ port: 3333 })
Async/Await Example
handleRequest can be used with async/await
import AbstractHttpServer from 'abstract-http-server'
class MyHttpServer extends AbstractHttpServer {
async handleRequest(req, res) {
await Promise.resolve()
res.statusCode = 200
res.end('Hello World!')
}
}
Constructor Options Example
Constructor, start, and stop options examples
const server = new AbstractHttpServer({
maxHeaderSize: 100;
insecureHTTPParser: false;
logger: console,
})
await server.start({
port: 3333,
host: 'localhost',
backlog: 10,
path: 'foo',
exclusive: false,
readableAll: true,
writableAll: true,
ipv6Only: false,
})
await server.stop({
force: true
})
Stop Server Example
handleRequest can be used with async/await
import AbstractHttpServer from 'abstract-http-server'
class MyHttpServer extends AbstractHttpServer {
async handleRequest(req, res) {
await Promise.resolve()
res.statusCode = 200
res.end('Hello World!')
}
}
const server = new MyHttpServer()
await server.start({ port: 3333 })
await server.stop()
Errors Example
import AbstractHttpServer from 'abstract-http-server'
class MyHttpServer extends AbstractHttpServer {
handleRequest(req, res) {
res.statusCode = 200
res.end('Hello World!')
}
}
const server = new MyHttpServer()
try {
await server.start({ port: 3333 })
} catch (err) {
if (err instanceof HttpServerStartError) {
console.error(err)
console.error(err.source)
}
}
try {
await server.stop()
} catch (err) {
if (err instanceof HttpServerStopError) {
console.error(err)
console.error(err.source)
}
}
License
MIT