package router

import (
	"time"


	"github.com/go-chi/chi/v5"
	"github.com/go-chi/chi/v5/middleware"
	"github.com/go-chi/cors"
)

// setupMiddlewares — устанавливает общие middleware для роутера.
func setupMiddlewares(r *chi.Mux) {
	// Логирование всех запросов
	r.Use(middleware.Logger)

	// Восстановление после паник
	r.Use(middleware.Recoverer)

	// Удаление завершающих слешей
	r.Use(middleware.StripSlashes)

	// Установка реального IP из заголовков (X-Forwarded-For, X-Real-IP)
	r.Use(middleware.RealIP)

	// Таймаут обработки запроса
	r.Use(middleware.Timeout(30 * time.Second))

	// Поддержка CORS
	r.Use(cors.Handler(cors.Options{
		AllowedOrigins:   []string{"https://easysite102.ru", "http://localhost:3000"},
		AllowedMethods:   []string{"GET", "POST", "PUT", "DELETE", "OPTIONS", "PATCH"},
		AllowedHeaders:   []string{"Accept", "Authorization", "Content-Type", "X-CSRF-Token", "X-Requested-With"},
		ExposedHeaders:   []string{"Link"},
		AllowCredentials: true,
		MaxAge:           300, // 5 минут
	}))


	// Можно добавить и другие кастомные middleware при необходимости
}
