UNPKG

@nestjs/common

Version:

Nest - modern, fast, powerful node.js web framework (@common)

23 lines (22 loc) 675 B
import { Observable } from 'rxjs'; import { ExecutionContext } from '../features/execution-context.interface.js'; /** * Interface describing a global preRequest hook for microservices. * * Hooks are executed before guards, allowing setup of context (e.g. AsyncLocalStorage) * that is available to all downstream enhancers. * * @example * ```typescript * const als = new AsyncLocalStorage(); * app.registerPreRequestHook((context, next) => { * als.enterWith({ correlationId: uuid() }); * return next(); * }); * ``` * * @publicApi */ export interface PreRequestHook { (context: ExecutionContext, next: () => Observable<unknown>): Observable<unknown>; }