Не получается сарвнить куку и параметры mux
Всем привет
func Welcome(w http.ResponseWriter, r *http.Request) {
params := mux.Vars(r)
name := strings.TrimSpace(params["username"])
value := strings.TrimSpace(params["token"])
//здесь выводяся нужные мне значения,
//значит по значению параметра username можно дальше найти куку в браузере по имени куки
log.Println(name, value)
//здесь ищу в браузере куку имя которой совпадает с именем пользователя
currentCookies, err := r.Cookie(name)
//но кука по значению парметра username не находится
//и отрабатывает if так как ошибка named cookie not present
//Смотрю в брузере куку и она имеет такое имя как значение параметра username
//поэтому не должно отрабатывать уловие.
if err != nil || currentCookies.Value != value {
http.Redirect(w, r, "/validate/", http.StatusForbidden)
return
}
//функция из локального пакета
logging.TemplateGetting(w, "welcome.html", "", currentCookies.Name)
}
Подскажите пожалуйста, почему отрабатывает условие, если кука есть? Как лечить?

На первом скрине имя и значение куки
На втором скрине белым выделил имя и значение параметров mux которые я пытаюсь сверить с name value куки. Видно что значения на первом и втором скрине идентичны друг другу
Ответы (1 шт):
Структура куки при установке была такой
http.Cookie{
Name: "somename",
Value: somevalue,
}
Поле Path отсутствовало и поэтому устанавливалось автоматически в соответствие с url на котором находится пользователь во время установки куки.
Например, если на момент установки куки я нахожусь в /page/, то новая кука будет установлена с полем.
Path: "/page/",
И если потом попытаться получить куку браузера находясь в url /page/user/ то и r.Cookies() возвращает пустую строку, так как для поля
Path: "/page/user/",
Не было утсановлено кук.
Пока что решил сделав структуру куки при установке куки
http.Cookie{
Name: "somename",
Value: somevalue,
Path: "/"
}
И при проверке больше не возвращается пустота, так как кука проверяется для всего сайта.