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)
}
}
Този подход помага за централизирана обработка на общите задачи за всички заявки.