@basterrus
Разработчик

Как прокинуть параметр с хендлера дальше в приложение?

Добрый день! Если в 2х словах, по долгу службы xD работаю над опенсорсным оркестратором ystia/yorc. Прилетела задача расширить функционал. Смысл в том что бы в адресной строке браузера указать наименование локации. Тут как бы спарсить параметр не составило труда.
пример адресной строки: "/locations/:locationName/deployments"
var params httprouter.Params

	ctx := r.Context()
	params = ctx.Value(paramsLookupKey).(httprouter.Params)
	name := params.ByName("<b>locationName</b>")
	
       ====КУСОК КОДА ОПУЩЕН===

	w.Header().Set("Location", fmt.Sprintf("/deployments/%s/tasks/%s", uid, taskID))
	w.WriteHeader(http.StatusCreated)
}


Какие есть варианты как прокинуть параметр дальше в приложение? Пробовал через контекст
newContext := context.WithValue(context.Background(), "locationName", name)
, но либо я такой знаток контекста, либо он закрывается раньше что ли(могу ошибаться), но в контексте его нет.
Из хендлера напрямую ничего не вызывается, задача улетает в таск менеджер йорка и после сама там вариться.
Какие есть способы прокинуть параметр?
Если в оригинале то мне нужно отсюда прокинуть параметр сюда
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы