package handler import ( "net/http/httputil" "net/url" "github.com/gin-gonic/gin" "github.com/huoxue1/go-utils/base/log" "github.com/spf13/viper" ) func HandleCaptcha() gin.HandlerFunc { target := viper.GetString("captcha.url") targetUrl, err := url.Parse(target) if err != nil { log.Panicln("captcha url parse error:", err) } return func(ctx *gin.Context) { proxy := httputil.NewSingleHostReverseProxy(targetUrl) ctx.Request.URL.Path = "/data" proxy.ServeHTTP(ctx.Writer, ctx.Request) } }