Files
rootandClaude Opus 5.5 7974a42301 Initial commit
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 11:07:42 +08:00

28 lines
890 B
Go

package swaggerutil
import (
"fmt"
"videoweb/pub/common/netutil"
"github.com/gin-gonic/gin"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
func isDevHost(runMode string, svcListenIp string) bool {
localIp := netutil.GetLocalIP()
return (runMode == "dev" || runMode == "debug") && localIp != svcListenIp
}
func SetupGinSwagger(runMode, svcListenIp, svcListenPort string) func(r *gin.Engine) {
return func(r *gin.Engine) {
if isDevHost(runMode, svcListenIp) {
url := ginSwagger.URL(fmt.Sprintf("http://%s:%s/swagger/doc.json", netutil.GetLocalIP(), svcListenPort))
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, url))
} else {
url := ginSwagger.URL(fmt.Sprintf("http://%s:%s/swagger/doc.json", svcListenIp, svcListenPort))
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler, url))
}
}
}