は がそうする複数の方法を試みたし、奇妙な行動を取得して、モバイルデバイスからのOPTIONSメソッドを受け入れる必要があります。ゴリラハンドラを使用してモバイルからOPTIONSメソッドを許可する方法はありますか?
これをしようとしたとき、私はクライアントからの403を取得: (クライアントはPOST
前OPTIONS
を送信します)
import (
"net/http"
"github.com/gorilla/handlers"
"github.com/gorilla/mux"
)
func main() {
r := mux.NewRouter()
r.HandleFunc("/users", UserEndpoint)
r.HandleFunc("/projects", ProjectEndpoint)
methods := handlers.AllowedMethods([]string{"OPTIONS", "DELETE", "GET", "HEAD", "POST"}
http.ListenAndServe(":8000", handlers.CORS(methods)(r))
}
私は省略した場合methods
:私は403を許可していない取得
http.ListenAndServe(":8000", handlers.CORS()(r))
また、それで遊んGET
方法削除:
methods := handlers.AllowedMethods([]string{"OPTIONS"}
http.ListenAndServe(":8000", handlers.CORS(methods)(r))
をまだ(クロームDHC)
ブラウザに残り、クライアントからしようとしたとき 200 GET
を得ることができるが、私は削除する場合OPTIONS
:
methods := handlers.AllowedMethods([]string{"DELETE", "GET", "HEAD", "POST"}
http.ListenAndServe(":8000", handlers.CORS(methods)(r))
私は405
0123を取得最初の例はゴリラハンドラのドキュメントに基づいています
この問題に関するアイデアはありますか?あなたはcors.goオプションを見れば
おかげ
'OPTIONS'を無視していて、次にそれらをcorsオプション矛盾で許可していませんか? –