Middleware adalah sebuah fungsi yang berjalan sebelum atau sesudah sebuah request. Middleware biasanya digunakan untuk melakukan hal-hal seperti logging, authentication, rate limiting, dll. Denagn menggunakan middleware, kita bisa memisahkan logic dari aplikasi kita menjadi beberapa bagian yang lebih kecil. Middleware juga memungkinkan kita untuk menambahkan logic baru tanpa harus mengubah logic yang sudah ada.
Fiber memiliki beberapa middleware yang sudah disediakan oleh Fiber sendiri. Fiber juga memungkinkan kita untuk membuat middleware sendiri. Dalam artikel ini, kita akan membahas tentang bagaimana cara menggunakan middleware yang sudah disediakan oleh Fiber dan juga bagaimana cara membuat middleware sendiri.
Menggunakan Middleware
Fiber memiliki beberapa middleware yang sudah disediakan oleh Fiber sendiri yang bisa kita gunakan dengan sangat mudah. Berikut adalah contoh bagaimana cara menggunakan middleware yang sudah disediakan oleh Fiber:
package main
import (
"github.com/gofiber/fiber/v3"
"github.com/gofiber/fiber/v3/middleware/logger"
)
func main() {
app := fiber.New()
app.Use(logger.New(logger.Config{
Format: "[${ip}]:${port} ${status} - ${method} ${path}\n",
}))
app.Get("/", func(c fiber.Ctx) error {
return c.SendString("Hello, World 👋!")
})
app.Listen(":3000")
}
Pada contoh kode di atas, kita menggunakan middleware logger
. Middleware logger
digunakan untuk melakukan logging pada setiap request yang masuk. Middleware logger
akan melakukan logging pada setiap request yang masuk dan juga pada setiap response yang keluar. Middleware logger
sangat berguna untuk melakukan logging pada aplikasi kita.
Membuat Middleware Sendiri
Fiber juga memungkinkan kita untuk membuat middleware sendiri. Membuat middleware sendiri di Fiber sangat mudah. Berikut adalah contoh bagaimana cara membuat middleware sendiri di Fiber v3:
package main
import (
"github.com/gofiber/fiber/v3"
)
func MyMiddleware(c fiber.Ctx) error {
// Logic sebelum request
if err := c.Next(); err != nil {
return err
}
// Logic setelah request
return nil
}
func main() {
app := fiber.New()
app.Use(MyMiddleware)
app.Get("/", func(c fiber.Ctx) error {
return c.SendString("Hello, World 👋!")
})
app.Listen(":3000")
}
Pada contoh kode di atas, kita membuat middleware sendiri dengan nama MyMiddleware
. Middleware MyMiddleware
akan melakukan logic sebelum request dan juga logic setelah request. Middleware MyMiddleware
sangat berguna untuk melakukan logic yang kita inginkan sebelum atau sesudah request.
Kesimpulan
Dalam artikel ini, kita telah mengenal middleware pada Fiber. Kita juga telah membahas tentang bagaimana cara menggunakan middleware yang sudah disediakan oleh Fiber dan juga bagaimana cara membuat middleware sendiri. Pada artikel selanjutnya, kita akan membahas tentang bagaimana cara melakukan routing pada aplikasi yang dibangun menggunakan Fiber.
Sampai jumpa di artikel selanjutnya! 👋