import { HttpContext } from "@adonisjs/core/http" import { Logger } from "@adonisjs/core/logger" 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 { public async handle(ctx: HttpContext, next: NextFn): Promise { ctx.containerResolver.bindValue(HttpContext, ctx) ctx.containerResolver.bindValue(Logger, ctx.logger) return next() } }