Sobes.tech
Middle+

Какви middleware използвате в работата си?

sobes.tech AI

Отговор от AI

В работата с Go често използвам middleware за уеб сървъри, например в рамките на фреймуъркове като Gin или Echo. Основните типове middleware, които прилагам:

  • Регистриране на заявки и отговори (например за одит и отстраняване на грешки).
  • Аутентикация и авторизация (JWT, OAuth).
  • Обработка на CORS (Cross-Origin Resource Sharing).
  • Ограничаване на броя на заявките (rate limiting).
  • Обработка на грешки и паники (recovery middleware).

Пример за прост middleware за логване в 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)
    }
}

Този подход помага за централизирана обработка на общите задачи за всички заявки.