Sobes.tech
Middle+

Jakie middleware używasz w pracy?

sobes.tech AI

Odpowiedź od AI

W pracy z Go często używam middleware dla serwerów internetowych, na przykład w ramach frameworków takich jak Gin czy Echo. Główne typy middleware, które stosuję:

  • Logowanie żądań i odpowiedzi (np. do audytu i debugowania).
  • Uwierzytelnianie i autoryzacja (JWT, OAuth).
  • Obsługa CORS (Cross-Origin Resource Sharing).
  • Ograniczanie liczby żądań (rate limiting).
  • Obsługa błędów i panik (middleware odzyskiwania).

Przykład prostego middleware do logowania w Gin:

func Logger() gin.HandlerFunc {
    return func(c *gin.Context) {
        start := time.Now()
        c.Next()
        duration := time.Since(start)
        log.Printf("%s %s %d %s", c.Request.Method, c.Request.URL.Path, c.Writer.Status(), duration)
    }
}

Taki podejście pomaga centralnie obsługiwać wspólne zadania dla wszystkich żądań.