( ctx: Context, middleware: Middleware | Constructor<Provider<Middleware>>, options: MiddlewareBindingOptions, )
| 160 | * @param options - Middleware binding options |
| 161 | */ |
| 162 | export function registerMiddleware( |
| 163 | ctx: Context, |
| 164 | middleware: Middleware | Constructor<Provider<Middleware>>, |
| 165 | options: MiddlewareBindingOptions, |
| 166 | ) { |
| 167 | if (isProviderClass(middleware as Constructor<Provider<Middleware>>)) { |
| 168 | const binding = createMiddlewareBinding( |
| 169 | middleware as Constructor<Provider<Middleware>>, |
| 170 | options, |
| 171 | ); |
| 172 | ctx.add(binding); |
| 173 | return binding; |
| 174 | } |
| 175 | const key = options.key ?? BindingKey.generate(MIDDLEWARE_NAMESPACE); |
| 176 | return ctx |
| 177 | .bind(key) |
| 178 | .to(middleware as Middleware) |
| 179 | .apply(asMiddleware(options)); |
| 180 | } |
| 181 | |
| 182 | /** |
| 183 | * Create a binding for the middleware provider class |
no test coverage detected