| 187 | * |
| 188 | */ |
| 189 | export function createMiddlewareBinding( |
| 190 | middlewareProviderClass: Constructor<Provider<Middleware>>, |
| 191 | options: MiddlewareBindingOptions = {}, |
| 192 | ) { |
| 193 | options.chain = options.chain ?? DEFAULT_MIDDLEWARE_CHAIN; |
| 194 | const binding = createBindingFromClass(middlewareProviderClass, { |
| 195 | defaultScope: BindingScope.TRANSIENT, |
| 196 | namespace: MIDDLEWARE_NAMESPACE, |
| 197 | key: options.key, |
| 198 | }).apply(asMiddleware(options)); |
| 199 | return binding; |
| 200 | } |
| 201 | |
| 202 | /** |
| 203 | * Discover and invoke registered middleware in a chain for the given extension |