The set of possible properties defined through the CLI (it is reduced since it can't contain runtime values)

interface CLIConfigurationSpec {
    delay?: Delay;
    harFileCacheTime?: number;
    hostname?: string;
    http2?: boolean;
    mocksFolder?: string;
    mocksFormat?: MocksFormat;
    mocksHarFile?: string;
    mode?: Mode;
    port?: number;
    proxyConnectMode?: ProxyConnectMode;
    remoteURL?: null | string;
    saveChecksumContent?: boolean;
    saveDetailedTimings?: boolean;
    saveForwardedRequestBody?: null | boolean;
    saveForwardedRequestData?: null | boolean;
    saveInputRequestBody?: boolean;
    saveInputRequestData?: boolean;
    skipLog?: boolean;
    tlsCAKeyPath?: null | string;
    tlsKeySize?: number;
}

Hierarchy (view full)

Properties

delay?: Delay

The default delay.

It can be changed at request level in the hook method through mock.setDelay.

harFileCacheTime?: number

Time in milliseconds during which a har file is kept in memory after its last usage.

hostname?: string

The hostname on which the proxy should listen. Uses 127.0.0.1 by default, which only allows local connections. To allow remote connections, use the ip address of the specific network interface that should be allowed to connect or the unspecified IPv4 (0.0.0.0) or IPv6 (::) address.

Note that kassette has not been reviewed for security issues. It is intended to be used in a safe local/testing environment. Binding it to an open connection can result in compromising your computer or your network.

http2?: boolean

Enables http/2.0 protocol in the kassette server.

mocksFolder?: string

When the mocks format is 'folder', specifies the default root folder of all mocks, from which specific mocks paths will be resolved.

It can be changed at a request level in the hook method through mock.setMocksFolder.

mocksFormat?: MocksFormat

The default mocks format.

It can be changed at request level in the hook method through mock.setMocksFormat.

The default value of the global mocksFormat setting is folder, except in the following case: if the global mocksHarFile setting is defined and the global mocksFolder setting is not defined, then the default value of the global mocksFormat setting is har.

mocksHarFile?: string

When the mocks format is 'har', specifies the default har file to use. If the file name has the .yml or .yaml extension, the YAML format is used instead of the standard JSON format to read and write the file.

It can be changed at a request level in the hook method through mock.setMocksHarFile.

mode?: Mode

The default mode.

It can be changed at request level in the hook method through mock.setMode.

port?: number

The port on which the proxy should listen. Note that kassette accepts both http and https connections on this port.

If the port is not available, it will fail and stop the program; try again with another, available port. If the port is set to 0, the proxy will listen on a random port (actually depends on the OS implementation): use the callback onListen to catch its value.

proxyConnectMode?: ProxyConnectMode

Default mode for CONNECT requests.

It can be changed at a request level in the onProxyConnect method through setMode.

remoteURL?: null | string

The URL of the remote backend, from which only the protocol, hostname and port are used. Can be left null, in which case anything leading to sending the request to the remote backend will trigger an exception. Can also contain the special "*" value, which means reading from the request the remote backend to target. This is useful when using kassette as a browser proxy.

It can be changed at a request level in the hook method through mock.setRemoteURL.

saveChecksumContent?: boolean

Whether to save the content used to create a checksum when creating a new mock with a checksum.

The default value of the global saveChecksumContent setting is true.

It can be changed at request level in the hook method through mock.setSaveChecksumContent.

saveDetailedTimings?: boolean

Whether to save detailed timings when creating a new mock.

The default value of the global saveDetailedTimings setting is true.

It can be changed at request level in the hook method through mock.setSaveDetailedTimings.

saveForwardedRequestBody?: null | boolean

Whether to save the forwarded request body when creating a new mock.

The default value of the global saveForwardedRequestData setting is null, which means true when mocksFormat is folder (for backward-compatibility), and false when mocksFormat is har.

It can be changed at request level in the hook method through mock.setSaveForwardedRequestBody.

saveForwardedRequestData?: null | boolean

Whether to save the forwarded request data (headers, method, URL) when creating a new mock.

The default value of the global saveForwardedRequestData setting is null, which means true when mocksFormat is folder (for backward-compatibility), and false when mocksFormat is har.

It can be changed at request level in the hook method through mock.setSaveForwardedRequestData.

saveInputRequestBody?: boolean

Whether to save the content of the input request body when creating a new mock.

The default value of the global saveInputRequestBody setting is true.

It can be changed at request level in the hook method through mock.setSaveInputRequestBody.

saveInputRequestData?: boolean

Whether to save the input request data (headers, method, URL) when creating a new mock.

The default value of the global saveInputRequestData setting is true.

It can be changed at request level in the hook method through mock.setSaveInputRequestData.

skipLog?: boolean

If true, will simplify the logging output, logging only one line when the request is received but nothing else afterwards.

tlsCAKeyPath?: null | string

Path to a PEM-encoded CA (Certificate Authority) certificate and key file, created if it does not exist. If not provided, the certificate and key are generated but only kept in memory. This certificate and key are used as needed to sign certificates generated on the fly for any HTTPS connection intercepted by kassette.

You can optionally import in the browser the TLS certificate from this file in order to remove the warning when connecting to HTTPS websites through kassette.

tlsKeySize?: number

Size in bits of generated RSA keys.