MethodHandler supports OPTIONS, but it's not included in Allow. https://github.com/gorilla/handlers/blob/3e030244b4ba0480763356fc8ca0ade6222e2da0/handlers.go#L32 `allow := []string{http.MethodOptions}` In case of 405, client should know OPTIONS is an option.