import { Logger } from '@adonisjs/core/logger' import { HttpContext } from '@adonisjs/core/http' import type { NextFn } from '@adonisjs/core/types/http' /** * The container bindings middleware binds classes to their request * specific value using the container resolver. * * - We bind "HttpContext" class to the "ctx" object * - And bind "Logger" class to the "ctx.logger" object */ export default class ContainerBindingsMiddleware { handle(ctx: HttpContext, next: NextFn) { ctx.containerResolver.bindValue(HttpContext, ctx) ctx.containerResolver.bindValue(Logger, ctx.logger) return next() } }