| @ -1,63 +0,0 @@ | |||||
| package site | |||||
| import ( | |||||
| "net/http" | |||||
| "strings" | |||||
| ) | |||||
| /** | |||||
| * 取访问主机名 | |||||
| */ | |||||
| func GetHost(req *http.Request) string { | |||||
| var hostlist []string = req.Header.Values("X-Forwarded-Host") | |||||
| var host string | |||||
| if len(hostlist) > 1 { | |||||
| host = hostlist[len(hostlist)-1] //取最后一次转发的 | |||||
| } else if len(hostlist) == 1 { | |||||
| host = hostlist[0] | |||||
| } else { | |||||
| host = "" | |||||
| } | |||||
| if host != "" { | |||||
| hosts := strings.Split(host, ",") | |||||
| host = strings.Trim(hosts[len(hosts)-1], " ") | |||||
| } | |||||
| if host == "" { | |||||
| host = req.Host | |||||
| } | |||||
| return host | |||||
| } | |||||
| /** | |||||
| * 取域名 | |||||
| */ | |||||
| func GetDomain(req *http.Request) string { | |||||
| scheme := "http://" | |||||
| if req.TLS != nil { | |||||
| scheme = "https://" | |||||
| } | |||||
| if strings.Contains(req.Referer(), "https://") { | |||||
| scheme = "https://" | |||||
| } | |||||
| var host string = GetHost(req) | |||||
| host = strings.Split(host, ":")[0] | |||||
| var w strings.Builder | |||||
| w.WriteString(scheme) | |||||
| w.WriteString(host) | |||||
| return w.String() | |||||
| } | |||||
| func SetHeader(w http.ResponseWriter, resp *http.Request) { | |||||
| w.Header().Set("Access-Control-Allow-Origin", "*") //允许访问所有域 | |||||
| w.Header().Add("Access-Control-Allow-Headers", "Content-Type,x-csrf-token,x-requested-with,token") //header的类型 | |||||
| w.Header().Set("Access-Control-Allow-Methods", "POST,GET,OPTIONS") | |||||
| w.Header().Set("content-type", "application/json") //返回数据格式是json | |||||
| // w.Header().Set("Content-Length", resp.Header.Get("Content-Length")) | |||||
| } | |||||