@@ -3,39 +3,48 @@ package router
33import (
44 "fmt"
55
6+ "github.com/gin-contrib/cors"
67 "github.com/gin-gonic/gin"
78 "opencsg.com/csghub-server/aigateway/handler"
89 "opencsg.com/csghub-server/api/middleware"
10+ "opencsg.com/csghub-server/builder/instrumentation"
911 "opencsg.com/csghub-server/common/config"
10- "opencsg.com/csghub-server/common/i18n"
1112)
1213
1314func NewRouter (config * config.Config ) (* gin.Engine , error ) {
1415 r := gin .New ()
15- r .Use (gin .Recovery ())
16- r .Use (middleware .Log ())
16+ middleware .SetInfraMiddleware (r , config , instrumentation .Aigateway )
17+ r .Use (cors .New (cors.Config {
18+ AllowCredentials : true ,
19+ AllowHeaders : []string {"*" },
20+ AllowMethods : []string {"*" },
21+ AllowAllOrigins : true ,
22+ }))
1723 //to access model,fintune with any kind of tokens in auth header
18- i18n .InitLocalizersFromEmbedFile ()
19- r .Use (middleware .ModifyAcceptLanguageMiddleware (), middleware .LocalizedErrorMiddleware ())
2024 r .Use (middleware .Authenticator (config ))
21- mustLogin := middleware .MustLogin ()
25+ middlewareCollection := middleware.MiddlewareCollection {}
26+ middlewareCollection .Auth .NeedLogin = middleware .MustLogin ()
27+ middlewareCollection .Auth .NeedPhoneVerified = middleware .NeedPhoneVerified (config )
2228
2329 v1Group := r .Group ("/v1" )
2430
2531 openAIhandler , err := handler .NewOpenAIHandlerFromConfig (config )
2632 if err != nil {
2733 return nil , fmt .Errorf ("error creating openai handler :%w" , err )
2834 }
29- v1Group .GET ("/models" , mustLogin , openAIhandler .ListModels )
30- v1Group .GET ("/models/:model" , mustLogin , openAIhandler .GetModel )
31- v1Group .POST ("/chat/completions" , mustLogin , openAIhandler .Chat )
32- v1Group .POST ("/embeddings" , mustLogin , openAIhandler .Embedding )
35+ v1Group .GET ("/models" , middlewareCollection . Auth . NeedLogin , openAIhandler .ListModels )
36+ v1Group .GET ("/models/:model" , middlewareCollection . Auth . NeedLogin , openAIhandler .GetModel )
37+ v1Group .POST ("/chat/completions" , middlewareCollection . Auth . NeedLogin , openAIhandler .Chat )
38+ v1Group .POST ("/embeddings" , middlewareCollection . Auth . NeedLogin , openAIhandler .Embedding )
3339
3440 mcpProxy , err := handler .NewMCPProxyHandler (config )
3541 if err != nil {
3642 return nil , fmt .Errorf ("error creating mcp proxy handler :%w" , err )
3743 }
3844 CreateMCPRoute (v1Group , mcpProxy )
45+ if err := extendRoutes (v1Group , middlewareCollection , config ); err != nil {
46+ return nil , fmt .Errorf ("error creating extended routes :%w" , err )
47+ }
3948 return r , nil
4049}
4150
0 commit comments