( middlewareCtx: MiddlewareContext, ...handlers: ExpressRequestHandler[] )
| 329 | * @param handlers - A list of Express middleware handler functions |
| 330 | */ |
| 331 | export function invokeExpressMiddleware( |
| 332 | middlewareCtx: MiddlewareContext, |
| 333 | ...handlers: ExpressRequestHandler[] |
| 334 | ): ValueOrPromise<boolean> { |
| 335 | if (handlers.length === 0) { |
| 336 | throw new Error('No Express middleware handler function is provided.'); |
| 337 | } |
| 338 | const middleware = toMiddleware(handlers[0], ...handlers.slice(1)); |
| 339 | debug( |
| 340 | 'Invoke Express middleware for %s %s', |
| 341 | middlewareCtx.request.method, |
| 342 | middlewareCtx.request.originalUrl, |
| 343 | ); |
| 344 | // Invoke the middleware with a no-op next() |
| 345 | const result = middleware(middlewareCtx, () => undefined); |
| 346 | // Check if the response is finished |
| 347 | return transformValueOrPromise(result, val => val === middlewareCtx.response); |
| 348 | } |
| 349 | |
| 350 | /** |
| 351 | * An adapter function to create an Express middleware handler to discover and |
no test coverage detected