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ń.