| | |
| | | import ( |
| | | "github.com/gin-gonic/gin" |
| | | "net/http" |
| | | "regexp" |
| | | "strings" |
| | | "webserver/extend/config" |
| | | "webserver/extend/logger" |
| | |
| | | //} |
| | | c.Next() |
| | | } else if strings.Contains(urlPath,"/httpImage") { |
| | | host := c.Request.URL.Host |
| | | logger.Debug("host:", host) |
| | | |
| | | imgUrl := config.Server.ImageUrl |
| | | |
| | | domain := config.Server.PublicDomain |
| | | domainReg := regexp.MustCompile(``+domain+``) |
| | | if domainReg.MatchString(host) {//域名访问 |
| | | imgUrl = domain |
| | | } |
| | | //domainReg := regexp.MustCompile(``+domain+``) |
| | | //if domainReg.MatchString(host) {//域名访问 |
| | | // imgUrl = domain |
| | | //} |
| | | |
| | | urlPath = strings.Replace(urlPath, "/httpImage", "", -1) |
| | | idx := strings.Index(urlPath, ":") |
| | | tmpPath := urlPath |
| | | if strings.Contains(urlPath,domain) { |
| | | urlPath = strings.Replace(urlPath,"/"+domain,"",-1) |
| | | } |
| | | logger.Debug("urlPath:",urlPath) |
| | | idx := strings.LastIndex(urlPath, ":") |
| | | tmpPath := "" |
| | | if idx >-1 {//路径中包含有端口,取端口以后路径 |
| | | tmpPath = urlPath[idx:] |
| | | imgIndx := strings.LastIndex(imgUrl, ":") |
| | | if imgIndx > -1 { |
| | | imgUrl = imgUrl[:imgIndx] |
| | | } |
| | | } else { |
| | | tmpPath = ":6080"+tmpPath |
| | | } |
| | | logger.Debug("imgUrl+tmpPath:", imgUrl+tmpPath) |
| | | c.Header("Access-Control-Allow-Origin","*") |
| | | c.Redirect(http.StatusMovedPermanently, imgUrl+tmpPath) |
| | | logger.Debug("domain+tmpPath:",domain+tmpPath) |
| | | c.Redirect(http.StatusMovedPermanently, domain+tmpPath) |
| | | return |
| | | } else { |
| | | c.Next() |