Socket
Socket
Sign inDemoInstall

abstract-http-server

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

abstract-http-server - npm Package Compare versions

Comparing version 1.0.0 to 2.0.0

2

package.json
{
"name": "abstract-http-server",
"version": "1.0.0",
"version": "2.0.0",
"description": "Description",

@@ -5,0 +5,0 @@ "main": "dist/cjs/index.js",

@@ -18,2 +18,3 @@ import AbstractStartable, {

export type OptsType = ServerOptions & {
port?: number
logger?: {

@@ -25,3 +26,5 @@ info: (...args: Array<any>) => void

export type StartOptsType = ListenOptions
export type StartOptsType = ListenOptions & {
port?: number
}
export type StopOptsType = StartableStopOptsType

@@ -32,7 +35,9 @@

protected logger: NonNullable<OptsType['logger']>
protected port: number | undefined
protected server: Server
constructor(opts: OptsType = {}) {
super()
this.sockets = new Set()
this.logger = opts.logger || console
this.logger = opts.logger ?? console
this.server = http.createServer(opts)

@@ -49,3 +54,3 @@ process.nextTick(() => {

}
handleRequest(
protected handleRequest(
req: IncomingMessage,

@@ -57,9 +62,10 @@ res: ServerResponse,

}
async _start(opts: StartOptsType = {}) {
await new Promise((resolve, reject) => {
protected async _start(opts: StartOptsType = {}) {
await new Promise<void>((resolve, reject) => {
const { logger, server } = this
logger.info('http server: starting...', opts)
const { port, ...listenOpts } = opts
server.listen({
port: 3000,
...opts,
port: port ?? this.port ?? process.env?.PORT ?? 3000,
...listenOpts,
})

@@ -85,4 +91,4 @@ server.once('listening', handleListening)

}
async _stop(opts: StopOptsType = {}) {
await new Promise((resolve, reject) => {
protected async _stop(opts: StopOptsType = {}) {
await new Promise<void>((resolve, reject) => {
const { logger, server, sockets } = this

@@ -89,0 +95,0 @@ logger.info('http server: stopping...', opts)

@@ -6,5 +6,8 @@ {

// "incremental": true, /* Enable incremental compilation */
"target": "ES2015", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
"target": "ES2020", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
"module": "ES2020", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
// "lib": [], /* Specify library files to be included in the compilation. */
"lib": [
"ES2020"
],
// "allowJs": true, /* Allow javascript files to be compiled. */

@@ -11,0 +14,0 @@ // "checkJs": true, /* Report errors in .js files. */

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc