go-proxy-bingai / api /index.go
wuyuncheng-26's picture
upload files from Harry-zklcdc/go-proxy-bingai
d669ddb verified
raw
history blame contribute delete
763 Bytes
package api
import (
"adams549659584/go-proxy-bingai/common"
"adams549659584/go-proxy-bingai/common/helper"
"net/http"
"strings"
)
func Index(w http.ResponseWriter, r *http.Request) {
wr := helper.NewResponseWriter(w)
if r.URL.Path == "/" {
http.Redirect(wr, r, common.PROXY_WEB_PAGE_PATH, http.StatusFound)
return
}
if strings.HasPrefix(r.URL.Path, "/turing") {
if !helper.CheckAuth(r) {
helper.UnauthorizedResult(wr)
return
}
}
common.NewSingleHostReverseProxy(common.BING_URL).ServeHTTP(wr, r)
ip := strings.Split(r.Header.Get("X-Forwarded-For"), ", ")[0]
if ip == "" {
ip = strings.Split(r.RemoteAddr, ":")[0]
}
common.Logger.Debug("%s - %s %s - %d - %s", ip, r.Method, r.URL.Path, wr.StatusCode, r.Header.Get("User-Agent"))
}