Lewati ke konten utama
menjadi.dev
Backend

Middleware

Fungsi yang dieksekusi di tengah request dan response untuk tugas umum.

Middleware adalah fungsi yang dieksekusi di antara request masuk dan response keluar. Middleware bisa memodifikasi request/response, menghentikan request (misalnya kalau tidak terautentikasi), atau melakukan tugas logging/monitoring. Urutan middleware penting — dieksekusi secara sequential. Contoh middleware: Authentication (verifikasi token), Authorization (cek permission), CORS (tambah headers), Body Parser (parse JSON/form data), Rate Limiter (batasi request per IP), Logger (catat setiap request), Error Handler (tangani error terpusat). Di Hono: app.use('', middleware) untuk global, app.use(‘/admin/’, middleware) untuk route spesifik.

Contoh Kode

// Middleware dengan Hono
// 1. Logging middleware
app.use('*', async (c, next) => {
  const start = Date.now();
  await next(); // Lanjut ke handler berikutnya
  const duration = Date.now() - start;
  console.log(`${c.req.method} ${c.req.path} - ${duration}ms`);
});

// 2. Auth middleware
app.use('/api/*', async (c, next) => {
  const token = c.req.header('Authorization')?.replace('Bearer ', '');
  if (!token) return c.json({ error: 'Unauthorized' }, 401);
  
  const payload = await verify(token, secret);
  c.set('userId', payload.sub);
  await next();
});

Istilah Terkait