diff --git a/internal/app/middleware/swagger.go b/internal/app/middleware/swagger.go index 959d7da..fa32ec5 100644 --- a/internal/app/middleware/swagger.go +++ b/internal/app/middleware/swagger.go @@ -8,13 +8,24 @@ import ( "strconv" "strings" - "github.com/gin-gonic/gin" - ginSwagger "github.com/swaggo/gin-swagger" swaggerFiles "github.com/swaggo/files" + "github.com/gin-gonic/gin" ) func SwaggerHandler() gin.HandlerFunc { - return ginSwagger.WrapHandler(swaggerFiles.Handler) + return func(c *gin.Context) { + rawPath := c.Request.URL.Path + relPath := strings.TrimPrefix(rawPath, "/swagger") + if relPath == "" || relPath == "/" { + c.Request.URL.Path = "/index.html" + } else { + c.Request.URL.Path = relPath + } + + swaggerFiles.Handler.ServeHTTP(c.Writer, c.Request) + + c.Request.URL.Path = rawPath + } } func SwaggerCSSBranding() gin.HandlerFunc {