UNPKG

@hmcts/rpx-xui-node-lib

Version:

Common nodejs library components for XUI

40 lines 1.96 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { NextFunction, Request, RequestHandler, Response, Router } from 'express'; import { XuiNodeOptions } from './xuiNodeOptions.interface'; import { XuiLogger } from '../util'; import { XuiNodeMiddlewareInterface } from './xuiNodeMiddleware.interface'; export declare class XuiNode extends EventEmitter { protected readonly router: Router; protected readonly middlewares: Array<string>; protected readonly logger: XuiLogger; authenticateMiddleware: any; constructor(router?: Router, middlewares?: Array<string>, logger?: XuiLogger); authenticate: (req: Request, res: Response, next: NextFunction) => void; /** * the proxied authenticate method which is publicly exposed * what constitutes a user being unauthenticated? * @see https://github.com/jaredhanson/passport/blob/597e289d6fa27a2c35d16dd411de284123e3817e/lib/http/request.js#L92 * @param req * @param res * @param next */ authenticateDefault: (req: Request, res: Response, next: NextFunction) => void | Response<any, Record<string, any>>; configure: (options: XuiNodeOptions) => RequestHandler; /** * Import a middleware layer. * * @param {string} middleware - ie. 's2s' * @return {Promise<any>} */ importMiddleware: (middleware: string) => Promise<typeof import("../../auth") | typeof import("../../session")>; applyMiddleware: (middleware: string, options: XuiNodeOptions) => Promise<void>; applyMiddlewareLayer: (middlewareLayer: any, options: any) => void; /** * helper method to proxy any listened events onto the correct middleware * @param middleware - any middleware layer e.g s2s, oidc, fileStore etc this typically extends EventEmitter */ proxyEvents: (middleware: XuiNodeMiddlewareInterface) => void; } export declare const xuiNode: XuiNode; //# sourceMappingURL=xuiNode.class.d.ts.map