package bot_cookie import ( "fmt" "net/http" "sync" ) /* Предоставляет разделяемый объект кукисов для соединения с игровым сервером */ // BotCookie -- кукисы для игрового сервера, ничего не требует для своей работы type BotCookie struct { cookie []*http.Cookie block sync.RWMutex } // NewBotCookie -- возвращает новый *NetCookie func NewBotCookie() BotCookie { return BotCookie{} } // Уст -- устанавливает кукисы func (сам *BotCookie) Уст(cook []*http.Cookie) error { сам.block.Lock() defer сам.block.Unlock() if cook == nil { return fmt.Errorf("NetCookie.Уст(): cookie is nil") } сам.cookie = cook cookie := http.Cookie{ Name: "JSESSIONID", Value: сам.cookie[0].Value, Raw: "JSESSIONID=" + сам.cookie[0].Value + "; _ym_uid=1642083867571238834; _ym_d=1642083867; _ym_isad=2; _ym_visorc=w", } cookie1 := сам.cookie[:0] сам.cookie = cookie1 сам.cookie = append(сам.cookie, &cookie) cookie = http.Cookie{ Name: "_ym_d", Value: "1642083867", } сам.cookie = append(сам.cookie, &cookie) cookie = http.Cookie{ Name: "_ym_isad", Value: "2", } сам.cookie = append(сам.cookie, &cookie) cookie = http.Cookie{ Name: "_ym_visorc", Value: "w", } сам.cookie = append(сам.cookie, &cookie) return nil } // Получ -- возвращает хранимые кукисы func (сам *BotCookie) Получ() []*http.Cookie { return сам.cookie }