@hmcts/rpx-xui-node-lib
Version:
Common nodejs library components for XUI
39 lines • 1.93 kB
TypeScript
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