Fiber v3 Part 2: Middleware

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! ๐Ÿ‘‹

0
Subscribe to my newsletter

Read articles from ACHMAD IRIANTO EKA PUTRA directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

ACHMAD IRIANTO EKA PUTRA
ACHMAD IRIANTO EKA PUTRA

Software Engineer Backend dan salah satu member Go Fiber.