Проверяет понимание middleware в контексте GO.
Middleware — это функция, которая оборачивает http.Handler и добавляет дополнительную логику до и после вызова ServeHTTP.
В Go middleware реализуется как функция-декоратор:
func LoggingMiddleware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
log.Println("Запрос:", r.URL.Path)
next.ServeHTTP(w, r)
})
}Часто middleware используется для:
Логирования
Аутентификации
Отслеживания времени обработки
CORS и защиты
Можно объединять несколько middleware:
handler := AuthMiddleware(LogMiddleware(mux))