Dasar HTTP

Middleware

Saring request dan response melalui middleware global, alias, route, dan parameter.

Middleware berjalan sebelum atau sesudah handler route. Lanjit menyediakan middleware keamanan umum dan mendukung middleware aplikasi.

Membuat middleware

node artisan make:middleware EnsureTeamMember
export class EnsureTeamMember {
  async handle(request, next, response) {
    if (!request.user?.team_id) {
      return response.json({ message: 'Team required.' }, 403);
    }

    return next();
  }
}

Mendaftarkan alias

Daftarkan alias di bootstrap/app.js agar route tidak bergantung pada path class.

.withMiddleware((middleware) => {
  middleware.alias({
    team: EnsureTeamMember,
    auth: AuthenticateMiddleware,
  });

  middleware.append(SecurityHeadersMiddleware);
})

append() memasang middleware global. Alias dipasang pada route dengan middleware().

Route.get('/team', handler).middleware('session', 'auth', 'team');

Middleware bawaan

Alias Fungsi
session Membaca, membuat, dan menyimpan session
csrf Memvalidasi token CSRF untuk request mutasi
cors Menambahkan header CORS dan menangani preflight
throttle Membatasi request berdasarkan key dan waktu
auth Memastikan user sudah terautentikasi
powered Menambahkan header identitas aplikasi contoh

Security headers middleware dipasang global pada skeleton awal.

Parameter middleware

Parameter dipisahkan dengan koma setelah tanda titik dua.

Route.post('/api/import', handler).middleware('throttle:10,1');

Contoh tersebut membatasi route ke 10 request per satu menit sesuai implementasi throttle bawaan.

Ketik untuk mencari di seluruh dokumentasi.