Извлечение URL из функции init () в Go на AppEngine
Фон: Я использую Go на GAE и использую Mux для своего роутера. Чтобы получить URL-адрес, GAE требует использования встроенной функции urlFetch. Я хочу, чтобы эта выборка URL происходила во время моих модулей init (), но, насколько я могу судить, я могу использовать urlFetch только при вызове через обработчик.
func init() {
r := mux.NewRouter()
r.HandleFunc("/", homeHandler)
r.HandleFunc("/about", anotherHandler)
http.Handle("/", r)
}
GAE предлагает следующий код для создания urlFetch:
c := appengine.NewContext(r)
client := urlfetch.Client(c)
... но его аргумент - это http-маршрутизатор, и он не хочет работать, если я передаю свой мультиплексорный маршрутизатор. Поэтому у меня нет идей, как заставить этот urlFetch происходить вне области действия обработчика URL.
Ошибка при передаче маршрутизатора мультиплексора: «невозможно использовать r (тип * mux.Router) в качестве типа * http.Request в аргументе для« appengine ».NewContext»