Server

Since

v0.1.17

Constructors

Link copied to clipboard
constructor(requestListener: RequestListener<Request, Response> = definedExternally)
constructor(options: ServerOptions<Request, Response>, requestListener: RequestListener<Request, Response> = definedExternally)

Properties

Link copied to clipboard
Link copied to clipboard

Limit the amount of time the parser will wait to receive the complete HTTP headers.

Link copied to clipboard

The number of milliseconds of inactivity a server needs to wait for additional incoming data, after it has finished writing the last response, before a socket will be destroyed. If the server receives new data before the keep-alive timeout has fired, it will reset the regular inactivity timeout, i.e., server.timeout.

Link copied to clipboard

Indicates whether or not the server is listening for connections.

Link copied to clipboard

Set this property to reject connections when the server's connection count gets high.

Link copied to clipboard

Limits maximum incoming headers count. If set to 0, no limit will be applied.

Link copied to clipboard

The maximum number of requests socket can handle before closing keep alive connection.

Link copied to clipboard

Sets the timeout value in milliseconds for receiving the entire request from the client.

Link copied to clipboard

The number of milliseconds of inactivity before a socket is presumed to have timed out.

Functions

Link copied to clipboard
open override fun addListener(event: String, listener: Function<Unit>)

events.EventEmitter

fun addListener(event: ServerEvent.CLIENTERROR, listener: (JsError, socket: Duplex) -> Unit)
fun addListener(event: ServerEvent.CLOSE, listener: () -> Unit)
fun addListener(event: ServerEvent.CONNECT, listener: (req: Request, socket: Duplex, head: Buffer) -> Unit)
fun addListener(event: ServerEvent.CONNECTION, listener: (socket: Socket) -> Unit)
fun addListener(event: ServerEvent.DROPREQUEST, listener: (req: Request, socket: Duplex) -> Unit)
fun addListener(event: ServerEvent.ERROR, listener: (JsError) -> Unit)
fun addListener(event: ServerEvent.LISTENING, listener: () -> Unit)
fun addListener(event: ServerEvent.UPGRADE, listener: (req: Request, socket: Duplex, head: Buffer) -> Unit)
fun addListener(event: ServerEvent.CLOSE, listener: () -> Unit)
fun addListener(event: ServerEvent.CONNECTION, listener: (socket: Socket) -> Unit)
fun addListener(event: ServerEvent.DROP, listener: (data: DropArgument?) -> Unit)
fun addListener(event: ServerEvent.ERROR, listener: (JsError) -> Unit)
fun addListener(event: ServerEvent.LISTENING, listener: () -> Unit)
Link copied to clipboard
fun address(): Any?

Returns the bound address, the address family name, and port of the server as reported by the operating system if listening on an IP socket (useful to find which port was assigned when getting an OS-assigned address):{ port: 12346, family: 'IPv4', address: '127.0.0.1' }.

Link copied to clipboard
fun close(callback: (JsError?) -> Unit = definedExternally)

Stops the server from accepting new connections and keeps existing connections. This function is asynchronous, the server is finally closed when all connections are ended and the server emits a 'close' event. The optional callback will be called once the 'close' event occurs. Unlike that event, it will be called with an Error as its only argument if the server was not open when it was closed.

Link copied to clipboard

Closes all connections connected to this server.

Link copied to clipboard

Closes all connections connected to this server which are not sending a request or waiting for a response.

Link copied to clipboard
open override fun emit(event: String, vararg args: Any?): Boolean
fun emit(event: ServerEvent.CLIENTERROR, err: JsError, socket: Duplex): Boolean
fun emit(event: ServerEvent.DROPREQUEST, req: Request, socket: Duplex): Boolean
fun emit(event: ServerEvent.CONNECT, req: Request, socket: Duplex, head: Buffer): Boolean
fun emit(event: ServerEvent.UPGRADE, req: Request, socket: Duplex, head: Buffer): Boolean
open fun emit(event: Symbol, vararg args: Any?): Boolean
fun emit(event: ServerEvent.DROP, data: DropArgument = definedExternally): Boolean
Link copied to clipboard

Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

Link copied to clipboard
fun getConnections(cb: (JsError?, count: Double) -> Unit)

Asynchronously get the number of concurrent connections on the server. Works when sockets were sent to forks.

Link copied to clipboard

Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to {@link defaultMaxListeners}.

Link copied to clipboard
fun listen(handle: Any?, listeningListener: () -> Unit = definedExternally)
fun listen(port: Number = definedExternally, listeningListener: () -> Unit = definedExternally)
fun listen(path: String, listeningListener: () -> Unit = definedExternally)
fun listen(options: ListenOptions, listeningListener: () -> Unit = definedExternally)
fun listen(handle: Any?, backlog: Number = definedExternally, listeningListener: () -> Unit = definedExternally)
fun listen(port: Number = definedExternally, backlog: Number = definedExternally, listeningListener: () -> Unit = definedExternally)
fun listen(port: Number = definedExternally, hostname: String = definedExternally, listeningListener: () -> Unit = definedExternally)
fun listen(path: String, backlog: Number = definedExternally, listeningListener: () -> Unit = definedExternally)

fun listen(port: Number = definedExternally, hostname: String = definedExternally, backlog: Number = definedExternally, listeningListener: () -> Unit = definedExternally)

Start a server listening for connections. A net.Server can be a TCP or an IPC server depending on what it listens to.

Link copied to clipboard
open override fun on(event: String, listener: Function<Unit>)
fun on(event: ServerEvent.CLIENTERROR, listener: (JsError, socket: Duplex) -> Unit)
fun on(event: ServerEvent.CLOSE, listener: () -> Unit)
fun on(event: ServerEvent.CONNECT, listener: (req: Request, socket: Duplex, head: Buffer) -> Unit)
fun on(event: ServerEvent.CONNECTION, listener: (socket: Socket) -> Unit)
fun on(event: ServerEvent.DROPREQUEST, listener: (req: Request, socket: Duplex) -> Unit)
fun on(event: ServerEvent.ERROR, listener: (JsError) -> Unit)
fun on(event: ServerEvent.LISTENING, listener: () -> Unit)
fun on(event: ServerEvent.UPGRADE, listener: (req: Request, socket: Duplex, head: Buffer) -> Unit)
fun on(event: ServerEvent.CLOSE, listener: () -> Unit)
fun on(event: ServerEvent.CONNECTION, listener: (socket: Socket) -> Unit)
fun on(event: ServerEvent.DROP, listener: (data: DropArgument?) -> Unit)
fun on(event: ServerEvent.ERROR, listener: (JsError) -> Unit)
fun on(event: ServerEvent.LISTENING, listener: () -> Unit)
Link copied to clipboard
open override fun once(event: String, listener: Function<Unit>)
fun once(event: ServerEvent.CLIENTERROR, listener: (JsError, socket: Duplex) -> Unit)
fun once(event: ServerEvent.CLOSE, listener: () -> Unit)
fun once(event: ServerEvent.CONNECT, listener: (req: Request, socket: Duplex, head: Buffer) -> Unit)
fun once(event: ServerEvent.CONNECTION, listener: (socket: Socket) -> Unit)
fun once(event: ServerEvent.DROPREQUEST, listener: (req: Request, socket: Duplex) -> Unit)
fun once(event: ServerEvent.ERROR, listener: (JsError) -> Unit)
fun once(event: ServerEvent.LISTENING, listener: () -> Unit)
fun once(event: ServerEvent.UPGRADE, listener: (req: Request, socket: Duplex, head: Buffer) -> Unit)
fun once(event: ServerEvent.CLOSE, listener: () -> Unit)
fun once(event: ServerEvent.CONNECTION, listener: (socket: Socket) -> Unit)
fun once(event: ServerEvent.DROP, listener: (data: DropArgument?) -> Unit)
fun once(event: ServerEvent.ERROR, listener: (JsError) -> Unit)
fun once(event: ServerEvent.LISTENING, listener: () -> Unit)
Link copied to clipboard
open override fun prependListener(event: String, listener: Function<Unit>)
fun prependListener(event: ServerEvent.CLIENTERROR, listener: (JsError, socket: Duplex) -> Unit)
fun prependListener(event: ServerEvent.CLOSE, listener: () -> Unit)
fun prependListener(event: ServerEvent.CONNECT, listener: (req: Request, socket: Duplex, head: Buffer) -> Unit)
fun prependListener(event: ServerEvent.CONNECTION, listener: (socket: Socket) -> Unit)
fun prependListener(event: ServerEvent.DROPREQUEST, listener: (req: Request, socket: Duplex) -> Unit)
fun prependListener(event: ServerEvent.ERROR, listener: (JsError) -> Unit)
fun prependListener(event: ServerEvent.LISTENING, listener: () -> Unit)
fun prependListener(event: ServerEvent.UPGRADE, listener: (req: Request, socket: Duplex, head: Buffer) -> Unit)
fun prependListener(event: ServerEvent.CLOSE, listener: () -> Unit)
fun prependListener(event: ServerEvent.CONNECTION, listener: (socket: Socket) -> Unit)
fun prependListener(event: ServerEvent.DROP, listener: (data: DropArgument?) -> Unit)
fun prependListener(event: ServerEvent.ERROR, listener: (JsError) -> Unit)
fun prependListener(event: ServerEvent.LISTENING, listener: () -> Unit)
Link copied to clipboard
open override fun prependOnceListener(event: String, listener: Function<Unit>)
fun prependOnceListener(event: ServerEvent.CLIENTERROR, listener: (JsError, socket: Duplex) -> Unit)
fun prependOnceListener(event: ServerEvent.CLOSE, listener: () -> Unit)
fun prependOnceListener(event: ServerEvent.CONNECT, listener: (req: Request, socket: Duplex, head: Buffer) -> Unit)
fun prependOnceListener(event: ServerEvent.CONNECTION, listener: (socket: Socket) -> Unit)
fun prependOnceListener(event: ServerEvent.DROPREQUEST, listener: (req: Request, socket: Duplex) -> Unit)
fun prependOnceListener(event: ServerEvent.LISTENING, listener: () -> Unit)
fun prependOnceListener(event: ServerEvent.UPGRADE, listener: (req: Request, socket: Duplex, head: Buffer) -> Unit)
fun prependOnceListener(event: ServerEvent.CLOSE, listener: () -> Unit)
fun prependOnceListener(event: ServerEvent.CONNECTION, listener: (socket: Socket) -> Unit)
fun prependOnceListener(event: ServerEvent.DROP, listener: (data: DropArgument?) -> Unit)
fun prependOnceListener(event: ServerEvent.LISTENING, listener: () -> Unit)
Link copied to clipboard
fun ref()

Opposite of unref(), calling ref() on a previously unrefed server will not let the program exit if it's the only server left (the default behavior). If the server is refed calling ref() again will have no effect.

Link copied to clipboard

By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

Link copied to clipboard
fun setTimeout(callback: () -> Unit)

fun setTimeout(msecs: Number = definedExternally, callback: () -> Unit = definedExternally)

Sets the timeout value for sockets, and emits a 'timeout' event on the Server object, passing the socket as an argument, if a timeout occurs.

Link copied to clipboard
fun unref()

Calling unref() on a server will allow the program to exit if this is the only active server in the event system. If the server is already unrefed callingunref() again will have no effect.