Interface ActionheroConfigInterface

interface ActionheroConfigInterface {
    errors: {
        _toExpand: boolean;
        connectionAlreadyInRoom: ((connection: Connection, room: string) => string);
        connectionNotInRoom: ((connection: Connection, room: string) => string);
        connectionRoomAndMessage: ((connection: Connection) => string);
        connectionRoomExists: ((room: string) => string);
        connectionRoomHasBeenDeleted: ((room: string) => string);
        connectionRoomNotExist: ((room: string) => string);
        connectionRoomRequired: (() => string);
        fileNotFound: ((connection: Connection) => string);
        fileNotProvided: ((connection: Connection) => string);
        fileReadError: ((connection: Connection, error: ErrnoException) => string);
        invalidParams: ((data: ActionProcessor<any>, validationErrors: (string | Error)[]) => string | Error);
        missingParams: ((data: ActionProcessor<any>, missingParams: string[]) => string);
        reportUnknownActions: boolean;
        serializers: {
            actionProcessor: ((error: ErrnoException) => {
                errorFields: {
                    error: string;
                };
                logLevel: ActionheroLogLevel;
            });
            servers: {
                specHelper: ((error: ErrnoException) => string | ErrnoException);
                web: ((error: ErrnoException) => string | ErrnoException);
                websocket: ((error: ErrnoException) => string | ErrnoException);
            };
        };
        serverShuttingDown: ((data: ActionProcessor<any>) => string);
        tooManyPendingActions: ((data: ActionProcessor<any>) => string);
        unknownAction: ((data: ActionProcessor<any>) => string);
        unsupportedServerType: ((data: ActionProcessor<any>) => string);
        verbNotAllowed: ((connection: Connection, verb: string) => string);
        verbNotFound: ((connection: Connection, verb: string) => string);
        genericError(data: ActionProcessor<any>, error: ErrnoException): Promise<ErrnoException>;
    };
    general: {
        apiVersion: string;
        cachePrefix: string;
        channel: string;
        cliIncludeInternal: boolean;
        defaultMiddlewarePriority: number;
        directoryFileType: string;
        disableParamScrubbing: boolean;
        enableResponseLogging: boolean;
        enforceConnectionProperties: boolean;
        fileRequestLogLevel: ActionheroLogLevel;
        filteredParams: string[] | (() => string[]);
        filteredResponse: string[] | (() => string[]);
        id: string;
        lockDuration: number;
        lockPrefix: string;
        missingParamChecks: string[];
        paths: {
            action: string[];
            cli: string[];
            dist: string;
            initializer: string[];
            log: string[];
            pid: string[];
            plugin: string[];
            public: string[];
            server: string[];
            src: string;
            task: string[];
            test: string[];
        };
        rpcTimeout: number;
        serverName: string;
        serverToken: string;
        simultaneousActions: number;
        startingChatRooms: Record<string, Record<string, any>>;
        welcomeMessage: string;
    };
    logger: {
        loggers: ActionheroConfigLoggerBuilderArray;
        maxLogArrayLength: number;
        maxLogStringLength: number;
    };
    plugins: PluginConfig;
    redis: {
        _toExpand: boolean;
        client: {
            args: {
                db: number;
                host: string;
                password: string;
                port: string | number;
                retryStrategy: ((times: number) => number);
                tls: {
                    rejectUnauthorized: boolean;
                };
            }[];
            buildNew: boolean;
            konstructor: any;
        };
        scanCount: number;
        stopTimeout: number;
        subscriber: {
            args: {
                db: number;
                host: string;
                password: string;
                port: string | number;
                retryStrategy: ((times: number) => number);
                tls: {
                    rejectUnauthorized: boolean;
                };
            }[];
            buildNew: boolean;
            konstructor: any;
        };
        tasks: {
            args: {
                db: number;
                host: string;
                password: string;
                port: string | number;
                retryStrategy: ((times: number) => number);
                tls: {
                    rejectUnauthorized: boolean;
                };
            }[];
            buildNew: boolean;
            konstructor: any;
        };
    };
    routes: Partial<Record<
        | "all"
        | "head"
        | "get"
        | "delete"
        | "patch"
        | "post"
        | "put", RouteType[]>>;
    tasks: {
        _toExpand: boolean;
        checkTimeout: number;
        connectionOptions: {
            tasks: {};
        };
        maxEventLoopDelay: number;
        maxTaskProcessors: number;
        minTaskProcessors: number;
        queues: string[] | (() => Promise<string[]>);
        resque_overrides: {
            multiWorker: MultiWorker;
            queue: Queue;
            scheduler: Scheduler;
        };
        retryStuckJobs: boolean;
        scheduler: boolean;
        schedulerLogging: {
            end: ActionheroLogLevel;
            enqueue: ActionheroLogLevel;
            poll: ActionheroLogLevel;
            reEnqueue: ActionheroLogLevel;
            start: ActionheroLogLevel;
            transferred_job: ActionheroLogLevel;
            working_timestamp: ActionheroLogLevel;
        };
        stuckWorkerTimeout: number;
        timeout: number;
        workerLogging: {
            cleaning_worker: ActionheroLogLevel;
            end: ActionheroLogLevel;
            failure: ActionheroLogLevel;
            internalError: ActionheroLogLevel;
            job: ActionheroLogLevel;
            multiWorkerAction: ActionheroLogLevel;
            pause: ActionheroLogLevel;
            poll: ActionheroLogLevel;
            reEnqueue: ActionheroLogLevel;
            start: ActionheroLogLevel;
            success: ActionheroLogLevel;
        };
    };
    web: {
        allowedRequestHosts: string[];
        automaticRoutes: string[];
        bindIP: string;
        bootAttempts: number;
        compress: boolean;
        defaultErrorStatusCode: number;
        enableEtag: boolean;
        enabled: boolean;
        fingerprintOptions: {
            cookieKey: string;
            onlyStaticElements: boolean;
            settings: {
                expires: number;
                path: string;
            };
            toSetCookie: boolean;
        };
        flatFileCacheDuration: number;
        formOptions: Options;
        httpHeaders: {
            Access-Control-Allow-Headers: string;
            Access-Control-Allow-Methods: string;
            Access-Control-Allow-Origin: string;
            Strict-Transport-Security: string;
            X-Powered-By: string;
        };
        metadataOptions: {
            requesterInformation: boolean;
            serverInformation: boolean;
        };
        padding: number;
        port: string | number;
        queryParseOptions: {};
        returnErrorCodes: boolean;
        rootEndpointType: string;
        saveRawBody: boolean;
        secure: boolean;
        serverOptions: {};
        urlPathForActions: string;
        urlPathForFiles: string;
    };
    websocket: {
        client: {
            apiPath: string;
            cookieKey: string;
        };
        clientJsName: string;
        clientJsPath: string;
        clientUrl: string;
        destroyClientsOnShutdown: boolean;
        enabled: boolean;
        server: {};
    };
    [key: string]: Record<string, unknown>;
}

Indexable

  • [key: string]: Record<string, unknown>

Properties

errors: {
    _toExpand: boolean;
    connectionAlreadyInRoom: ((connection: Connection, room: string) => string);
    connectionNotInRoom: ((connection: Connection, room: string) => string);
    connectionRoomAndMessage: ((connection: Connection) => string);
    connectionRoomExists: ((room: string) => string);
    connectionRoomHasBeenDeleted: ((room: string) => string);
    connectionRoomNotExist: ((room: string) => string);
    connectionRoomRequired: (() => string);
    fileNotFound: ((connection: Connection) => string);
    fileNotProvided: ((connection: Connection) => string);
    fileReadError: ((connection: Connection, error: ErrnoException) => string);
    invalidParams: ((data: ActionProcessor<any>, validationErrors: (string | Error)[]) => string | Error);
    missingParams: ((data: ActionProcessor<any>, missingParams: string[]) => string);
    reportUnknownActions: boolean;
    serializers: {
        actionProcessor: ((error: ErrnoException) => {
            errorFields: {
                error: string;
            };
            logLevel: ActionheroLogLevel;
        });
        servers: {
            specHelper: ((error: ErrnoException) => string | ErrnoException);
            web: ((error: ErrnoException) => string | ErrnoException);
            websocket: ((error: ErrnoException) => string | ErrnoException);
        };
    };
    serverShuttingDown: ((data: ActionProcessor<any>) => string);
    tooManyPendingActions: ((data: ActionProcessor<any>) => string);
    unknownAction: ((data: ActionProcessor<any>) => string);
    unsupportedServerType: ((data: ActionProcessor<any>) => string);
    verbNotAllowed: ((connection: Connection, verb: string) => string);
    verbNotFound: ((connection: Connection, verb: string) => string);
    genericError(data: ActionProcessor<any>, error: ErrnoException): Promise<ErrnoException>;
}
general: {
    apiVersion: string;
    cachePrefix: string;
    channel: string;
    cliIncludeInternal: boolean;
    defaultMiddlewarePriority: number;
    directoryFileType: string;
    disableParamScrubbing: boolean;
    enableResponseLogging: boolean;
    enforceConnectionProperties: boolean;
    fileRequestLogLevel: ActionheroLogLevel;
    filteredParams: string[] | (() => string[]);
    filteredResponse: string[] | (() => string[]);
    id: string;
    lockDuration: number;
    lockPrefix: string;
    missingParamChecks: string[];
    paths: {
        action: string[];
        cli: string[];
        dist: string;
        initializer: string[];
        log: string[];
        pid: string[];
        plugin: string[];
        public: string[];
        server: string[];
        src: string;
        task: string[];
        test: string[];
    };
    rpcTimeout: number;
    serverName: string;
    serverToken: string;
    simultaneousActions: number;
    startingChatRooms: Record<string, Record<string, any>>;
    welcomeMessage: string;
}
logger: {
    loggers: ActionheroConfigLoggerBuilderArray;
    maxLogArrayLength: number;
    maxLogStringLength: number;
}
plugins: PluginConfig
redis: {
    _toExpand: boolean;
    client: {
        args: {
            db: number;
            host: string;
            password: string;
            port: string | number;
            retryStrategy: ((times: number) => number);
            tls: {
                rejectUnauthorized: boolean;
            };
        }[];
        buildNew: boolean;
        konstructor: any;
    };
    scanCount: number;
    stopTimeout: number;
    subscriber: {
        args: {
            db: number;
            host: string;
            password: string;
            port: string | number;
            retryStrategy: ((times: number) => number);
            tls: {
                rejectUnauthorized: boolean;
            };
        }[];
        buildNew: boolean;
        konstructor: any;
    };
    tasks: {
        args: {
            db: number;
            host: string;
            password: string;
            port: string | number;
            retryStrategy: ((times: number) => number);
            tls: {
                rejectUnauthorized: boolean;
            };
        }[];
        buildNew: boolean;
        konstructor: any;
    };
}
routes: Partial<Record<
    | "all"
    | "head"
    | "get"
    | "delete"
    | "patch"
    | "post"
    | "put", RouteType[]>>
tasks: {
    _toExpand: boolean;
    checkTimeout: number;
    connectionOptions: {
        tasks: {};
    };
    maxEventLoopDelay: number;
    maxTaskProcessors: number;
    minTaskProcessors: number;
    queues: string[] | (() => Promise<string[]>);
    resque_overrides: {
        multiWorker: MultiWorker;
        queue: Queue;
        scheduler: Scheduler;
    };
    retryStuckJobs: boolean;
    scheduler: boolean;
    schedulerLogging: {
        end: ActionheroLogLevel;
        enqueue: ActionheroLogLevel;
        poll: ActionheroLogLevel;
        reEnqueue: ActionheroLogLevel;
        start: ActionheroLogLevel;
        transferred_job: ActionheroLogLevel;
        working_timestamp: ActionheroLogLevel;
    };
    stuckWorkerTimeout: number;
    timeout: number;
    workerLogging: {
        cleaning_worker: ActionheroLogLevel;
        end: ActionheroLogLevel;
        failure: ActionheroLogLevel;
        internalError: ActionheroLogLevel;
        job: ActionheroLogLevel;
        multiWorkerAction: ActionheroLogLevel;
        pause: ActionheroLogLevel;
        poll: ActionheroLogLevel;
        reEnqueue: ActionheroLogLevel;
        start: ActionheroLogLevel;
        success: ActionheroLogLevel;
    };
}
web: {
    allowedRequestHosts: string[];
    automaticRoutes: string[];
    bindIP: string;
    bootAttempts: number;
    compress: boolean;
    defaultErrorStatusCode: number;
    enableEtag: boolean;
    enabled: boolean;
    fingerprintOptions: {
        cookieKey: string;
        onlyStaticElements: boolean;
        settings: {
            expires: number;
            path: string;
        };
        toSetCookie: boolean;
    };
    flatFileCacheDuration: number;
    formOptions: Options;
    httpHeaders: {
        Access-Control-Allow-Headers: string;
        Access-Control-Allow-Methods: string;
        Access-Control-Allow-Origin: string;
        Strict-Transport-Security: string;
        X-Powered-By: string;
    };
    metadataOptions: {
        requesterInformation: boolean;
        serverInformation: boolean;
    };
    padding: number;
    port: string | number;
    queryParseOptions: {};
    returnErrorCodes: boolean;
    rootEndpointType: string;
    saveRawBody: boolean;
    secure: boolean;
    serverOptions: {};
    urlPathForActions: string;
    urlPathForFiles: string;
}
websocket: {
    client: {
        apiPath: string;
        cookieKey: string;
    };
    clientJsName: string;
    clientJsPath: string;
    clientUrl: string;
    destroyClientsOnShutdown: boolean;
    enabled: boolean;
    server: {};
}