httprouter 是 Gin framework 使用的路由組件。
要對 OPTIONS 請求自動響應,比如支持 CORS 請求或者設置請求頭,可用 Router.GlobalOPTIONS。
router.GlobalOPTIONS = http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if r.Header.Get("Access-Control-Request-Method") != "" { // Set CORS headers header := w.Header() header.Set("Access-Control-Allow-Methods", r.Header.Get("Allow")) header.Set("Access-Control-Allow-Origin", "*") } // Adjust status code to 204 w.WriteHeader(http.StatusNoContent) })
[Go] CORS 支持多個 origin 訪問的思路 (Access-Control-Allow-Origin 部分)
https://github.com/julienschmidt/httprouter#automatic-options-responses-and-cors