import Server from '@ioc:Adonis/Core/Server'
/*
|--------------------------------------------------------------------------
| 🌐 Global middleware
|--------------------------------------------------------------------------
| Ejecutados en cada request.
| Orden correcto: parseo → headers → restricción.
*/
Server.middleware.register([
  () => import('@ioc:Adonis/Core/BodyParser'),
  () => import('App/Middleware/HelmetSecurity'),
  () => import('App/Middleware/SecurityHeader'),
  () => import('App/Middleware/RestrictHttpMethods'),
  () => import('App/Middleware/AllowedMethods'),
  () => import('App/Middleware/BlockTrace'),
])

/*
|--------------------------------------------------------------------------
| 🧩 Named middleware
|--------------------------------------------------------------------------
| Middleware aplicados sólo a rutas específicas.
| Ejemplo: Route.get('dashboard').middleware('https')
*/
Server.middleware.registerNamed({
  https: () => import('App/Middleware/HttpsRedirect'),
})
