Study
Fiber

Middleware Dasar

Penjelasan

Middleware Fiber bertipe fiber.Handler juga (SAMA seperti handler biasa) — dipanggil lewat app.Use(), dan WAJIB memanggil c.Next() untuk meneruskan ke handler/middleware berikutnya. Pola pemanggilannya lebih mirip Express.js next() dibanding pola higher-order function Echo.

Contoh Konsep

func CekUmur(c *fiber.Ctx) error {
	umur, _ := strconv.Atoi(c.Query("umur"))
	if umur < 18 {
		return c.Status(fiber.StatusForbidden).SendString("Akses ditolak, umur minimal 18 tahun")
	}
	return c.Next() // lanjut ke handler berikutnya
}

app.Get("/dewasa", CekUmur, func(c *fiber.Ctx) error {
	return c.SendString("Selamat datang!")
})

Praktikum

Buat middleware CekJamKerja(c *fiber.Ctx) error yang menolak akses (403) kalau jam sekarang (time.Now().Hour()) di luar rentang 8-17, dan memanggil c.Next() kalau masih dalam jam kerja. Pasangkan ke route GET /admin.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

c.Next() di Fiber dipanggil TANPA argumen dan cukup di-return langsung (return c.Next()) — beda dari next(c) Echo yang butuh argumen c eksplisit, pola ini lebih dekat ke gaya next() Express.js yang juga tanpa argumen.