Dasar HTTP

Middleware

Saring permintaan dan respons melalui middleware global, alias, rute, dan parameter.

Beta · v0.2.0API Lanjit masih dapat berubah sebelum versi stabil. Periksa catatan rilis dan panduan peningkatan sebelum memperbarui.

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.

Edit halaman ini di GitHub

Ketik untuk mencari di seluruh dokumentasi.