Type alias Config

Config: {
    agent?: any;
    agentOptions?: AgentOptions & RequestInterceptors;
    arangoVersion?: number;
    auth?: BasicAuthCredentials | BearerAuthCredentials;
    databaseName?: string;
    headers?: Headers;
    loadBalancingStrategy?: LoadBalancingStrategy;
    maxRetries?: false | number;
    precaptureStackTraces?: boolean;
    responseQueueTimeSamples?: number;
    retryOnConflict?: number;
    url?: string | string[];
}

Options for configuring arangojs.

Type declaration

  • Optional agent?: any

    An http Agent instance to use for connections.

    By default a new Agent instance will be created using the agentOptions.

    This option has no effect when using the browser version of arangojs.

    See also http.Agent and https.Agent (when using TLS).

  • Optional agentOptions?: AgentOptions & RequestInterceptors

    Options used to create that underlying HTTP/HTTPS Agent (or the xhr module when using arangojs in the browser). This will be ignored if agent is also provided.

    The option maxSockets is also used to limit how many requests arangojs will perform concurrently. The maximum number of requests is equal to maxSockets.

    Note: arangojs will limit the number of concurrent requests based on this value even if an agent is provided.

    Note: when using ROUND_ROBIN load balancing and passing an array of URLs in the url option, the default value of maxSockets will be set to 3 * url.length instead of 3.

    Default (Node.js): { maxSockets: 3, keepAlive: true, keepAliveMsecs: 1000 }

    Default (browser): { maxSockets: 3, useXDR: true, withCredentials: true }

  • Optional arangoVersion?: number

    Numeric representation of the ArangoDB version the driver should expect. The format is defined as XYYZZ where X is the major version, Y is the zero-filled two-digit minor version and Z is the zero-filled two-digit bugfix version, e.g. 30102 for 3.1.2, 20811 for 2.8.11.

    Depending on this value certain methods may become unavailable or change their behavior to remain compatible with different versions of ArangoDB.

    Default: 30900

  • Optional auth?: BasicAuthCredentials | BearerAuthCredentials

    Credentials to use for authentication.

    See also useBasicAuth and useBearerAuth.

    Default: { username: "root", password: "" }

  • Optional databaseName?: string

    Name of the database to use.

    Default: "_system"

  • Optional headers?: Headers

    An object with additional headers to send with every request.

    If an "authorization" header is provided, it will be overridden when using useBasicAuth, useBearerAuth or the auth configuration option.

  • Optional loadBalancingStrategy?: LoadBalancingStrategy

    Determines the behavior when multiple URLs are provided:

    • "NONE": No load balancing. All requests will be handled by the first URL in the list until a network error is encountered. On network error, arangojs will advance to using the next URL in the list.

    • "ONE_RANDOM": Randomly picks one URL from the list initially, then behaves like "NONE".

    • "ROUND_ROBIN": Every sequential request uses the next URL in the list.

    Default: "NONE"

  • Optional maxRetries?: false | number

    Determines the behavior when a request fails because the underlying connection to the server could not be opened (i.e. ECONNREFUSED in Node.js):

    • false: the request fails immediately.

    • 0: the request is retried until a server can be reached but only a total number of times matching the number of known servers (including the initial failed request).

    • any other number: the request is retried until a server can be reached or the request has been retried a total of maxRetries number of times (not including the initial failed request).

    When working with a single server, the retries (if any) will be made to the same server.

    This setting currently has no effect when using arangojs in a browser.

    Note: Requests bound to a specific server (e.g. fetching query results) will never be retried automatically and ignore this setting.

    Note: To set the number of retries when a write-write conflict is encountered, see retryOnConflict instead.

    Default: 0

  • Optional precaptureStackTraces?: boolean

    If set to true, arangojs will generate stack traces every time a request is initiated and augment the stack traces of any errors it generates.

    Warning: This will cause arangojs to generate stack traces in advance even if the request does not result in an error. Generating stack traces may negatively impact performance.

  • Optional responseQueueTimeSamples?: number

    Limits the number of values of server-reported response queue times that will be stored and accessible using queueTime. If set to a finite value, older values will be discarded to make room for new values when that limit is reached.

    Default: 10

  • Optional retryOnConflict?: number

    If set to a positive number, requests will automatically be retried at most this many times if they result in a write-write conflict.

    Default: 0

  • Optional url?: string | string[]

    Base URL of the ArangoDB server or list of server URLs.

    When working with a cluster, the method acquireHostList can be used to automatically pick up additional coordinators/followers at any point.

    When running ArangoDB on a unix socket, e.g. /tmp/arangodb.sock, the following URL formats are supported for unix sockets:

    • unix:///tmp/arangodb.sock (no SSL)
    • http+unix:///tmp/arangodb.sock (or https+unix:// for SSL)
    • http://unix:/tmp/arangodb.sock (or https://unix: for SSL)

    Additionally ssl and tls are treated as synonymous with https and tcp is treated as synonymous with http, so the following URLs are considered identical:

    • tcp://127.0.0.1:8529 and http://127.0.0.1:8529
    • ssl://127.0.0.1:8529 and https://127.0.0.1:8529
    • tcp+unix:///tmp/arangodb.sock and http+unix:///tmp/arangodb.sock
    • ssl+unix:///tmp/arangodb.sock and https+unix:///tmp/arangodb.sock
    • tcp://unix:/tmp/arangodb.sock and http://unix:/tmp/arangodb.sock
    • ssl://unix:/tmp/arangodb.sock and https://unix:/tmp/arangodb.sock

    See also auth for passing authentication credentials.

    Default: "http://127.0.0.1:8529"

Generated using TypeDoc