func SetupRouter()

in src/psearch/serving/internal/api/routes.go [26:49]


func SetupRouter(router *gin.Engine, cfg *config.Config) {
	// Setup CORS middleware
	router.Use(cors.New(cors.Config{
		AllowOrigins:     []string{"*"}, // For production, restrict this to specific domains
		AllowMethods:     []string{"GET", "POST", "OPTIONS"},
		AllowHeaders:     []string{"Origin", "Content-Type", "Accept"},
		ExposeHeaders:    []string{"Content-Length"},
		AllowCredentials: true,
		MaxAge:           86400, // 24 hours
	}))

	// Setup logging middleware
	router.Use(LoggerMiddleware())

	// Create controller instance
	controller, err := NewController(cfg)
	if err != nil {
		panic(err)
	}

	// Register routes
	router.GET("/health", controller.HealthCheck)
	router.POST("/search", controller.Search)
}