代码拉取完成,页面将自动刷新
package middleware_http
import (
"gitee.com/os-lee/easy-paas/common"
"gitee.com/os-lee/easy-paas/common/e"
"gitee.com/os-lee/easy-paas/gateway/internal/dao"
"github.com/gin-gonic/gin"
"github.com/pkg/errors"
"regexp"
"strings"
)
// UrlRewrite url重写
func UrlRewrite() gin.HandlerFunc {
return func(c *gin.Context) {
serverInterface, ok := c.Get("service")
if !ok {
common.ResponseError(c, e.ErrGateway, errors.New("从上下文中获取服务失败"))
c.Abort()
return
}
serviceDetail := serverInterface.(*dao.ServiceDetail)
for _, item := range strings.Split(serviceDetail.HTTPRule.UrlRewrite, ",") {
items := strings.Split(item, " ")
if len(items) != 2 {
continue
}
regexp, err := regexp.Compile(items[0])
if err != nil {
//fmt.Println("regexp.Compile err",err)
continue
}
replacePath := regexp.ReplaceAll([]byte(c.Request.URL.Path), []byte(items[1]))
c.Request.URL.Path = string(replacePath)
}
c.Next()
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。