gemini_file_router.go 915 B

1234567891011121314151617181920212223242526272829
  1. package router
  2. import (
  3. "github.com/QuantumNous/new-api/controller"
  4. "github.com/QuantumNous/new-api/middleware"
  5. "github.com/gin-gonic/gin"
  6. )
  7. // SetGeminiFileRouter sets up routes for Gemini File API operations
  8. // This is completely isolated from other API routes to avoid interference
  9. func SetGeminiFileRouter(router *gin.Engine) {
  10. // Gemini File API routes - completely independent
  11. geminiFileRouter := router.Group("/v1beta")
  12. geminiFileRouter.Use(middleware.CORS())
  13. geminiFileRouter.Use(middleware.GeminiFileAuth())
  14. {
  15. // File list endpoint
  16. geminiFileRouter.GET("/files", controller.RelayGeminiFileList)
  17. }
  18. // File upload endpoint - separate path prefix
  19. geminiFileUploadRouter := router.Group("/upload/v1beta")
  20. geminiFileUploadRouter.Use(middleware.CORS())
  21. geminiFileUploadRouter.Use(middleware.GeminiFileAuth())
  22. {
  23. geminiFileUploadRouter.POST("/files", controller.RelayGeminiFileUpload)
  24. }
  25. }