CORS 加入跨域策略头包含CORP
(next http.Handler)
| 209 | |
| 210 | // CORS 加入跨域策略头包含CORP |
| 211 | func CORS(next http.Handler) http.Handler { |
| 212 | return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 213 | header := w.Header() |
| 214 | header.Set("Access-Control-Allow-Credentials", "true") |
| 215 | header.Set("Cross-Origin-Resource-Policy", "cross-origin") |
| 216 | header.Set("Access-Control-Allow-Headers", "Content-Type,Access-Token") |
| 217 | origin := r.Header["Origin"] |
| 218 | if len(origin) == 0 { |
| 219 | header.Set("Access-Control-Allow-Origin", "*") |
| 220 | } else { |
| 221 | header.Set("Access-Control-Allow-Origin", origin[0]) |
| 222 | } |
| 223 | if next != nil && r.Method != "OPTIONS" { |
| 224 | next.ServeHTTP(w, r) |
| 225 | } |
| 226 | }) |
| 227 | } |
| 228 | |
| 229 | func BasicAuth(u, p string, next http.Handler) http.Handler { |
| 230 | return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |