# Interface ServerOptions<Request, Response>

#### Type Parameters

- #### Request extends typeof IncomingMessage = typeof IncomingMessage

- #### Response extends typeof ServerResponse = typeof ServerResponse

#### Hierarchy

- ServerOptions

#####
Index

### Properties

IncomingMessage?
ServerResponse?
connectionsCheckingInterval?
highWaterMark?
insecureHTTPParser?
joinDuplicateHeaders?
keepAlive?
keepAliveInitialDelay?
keepAliveTimeout?
maxHeaderSize?
noDelay?
requestTimeout?
uniqueHeaders?

## Properties

### `Optional` IncomingMessage

IncomingMessage?: Request

Specifies the `IncomingMessage` class to be used. Useful for extending the original `IncomingMessage`.

### `Optional` ServerResponse

ServerResponse?: Response

Specifies the `ServerResponse` class to be used. Useful for extending the original `ServerResponse`.

### `Optional` connectionsCheckingInterval

connectionsCheckingInterval?: number

Sets the interval value in milliseconds to check for request and headers timeout in incomplete requests.

#### Default

    30000

### `Optional` highWaterMark

highWaterMark?: number

Optionally overrides all `socket`s' `readableHighWaterMark` and `writableHighWaterMark`. This affects `highWaterMark` property of both `IncomingMessage` and `ServerResponse`. Default:

#### See

stream.getDefaultHighWaterMark().

#### Since

v20.1.0

### `Optional` insecureHTTPParser

insecureHTTPParser?: boolean

Use an insecure HTTP parser that accepts invalid HTTP headers when `true`. Using the insecure parser should be avoided. See --insecure-http-parser for more information.

#### Default

    false

### `Optional` joinDuplicateHeaders

joinDuplicateHeaders?: boolean

It joins the field line values of multiple headers in a request with `,` instead of discarding the duplicates.

#### Default

    false

#### Since

v18.14.0

### `Optional` keepAlive

keepAlive?: boolean

If set to `true`, it enables keep-alive functionality on the socket immediately after a new incoming connection is received, similarly on what is done in `socket.setKeepAlive([enable][, initialDelay])`.

#### Default

    false

#### Since

v16.5.0

### `Optional` keepAliveInitialDelay

keepAliveInitialDelay?: number

If set to a positive number, it sets the initial delay before the first keepalive probe is sent on an idle socket.

#### Default

    0

#### Since

v16.5.0

### `Optional` keepAliveTimeout

keepAliveTimeout?: number

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.

#### See

Server.keepAliveTimeout for more information.

#### Default

    5000

#### Since

v18.0.0

### `Optional` maxHeaderSize

maxHeaderSize?: number

Optionally overrides the value of `--max-http-header-size` for requests received by this server, i.e. the maximum length of request headers in bytes.

#### Default

    16384

#### Since

v13.3.0

### `Optional` noDelay

noDelay?: boolean

If set to `true`, it disables the use of Nagle's algorithm immediately after a new incoming connection is received.

#### Default

    true

#### Since

v16.5.0

### `Optional` requestTimeout

requestTimeout?: number

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

#### See

Server.requestTimeout for more information.

#### Default

    300000

#### Since

v18.0.0

### `Optional` uniqueHeaders

uniqueHeaders?: (string | string[])[]

A list of response headers that should be sent only once. If the header's value is an array, the items will be joined using `;` .

Generated using TypeDoc