分离逻辑并重新使用定义的CORS处理程序的一种简单方法是包装REST处理程序。例如,如果您使用的是net /
http和该
Handle方法,则可以始终执行以下操作:
func corsHandler(h http.Handler) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if (r.Method == "OPTIONS") { //handle preflight in here } else { h.ServeHTTP(w,r) } }}您可以这样包装:
http.Handle("/endpoint/", corsHandler(restHandler))


