bot_cookie.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package bot_cookie
  2. import (
  3. "net/http"
  4. "sync"
  5. "wartank/pkg/components/kernel/logger"
  6. "wartank/pkg/types"
  7. )
  8. /*
  9. Предоставляет разделяемый объект кукисов для соединения с игровым сервером
  10. */
  11. // BotCookie -- кукисы для игрового сервера, ничего не требует для своей работы
  12. type BotCookie struct {
  13. cookie []*http.Cookie
  14. block sync.RWMutex
  15. лог types.ИЛоггер
  16. }
  17. // NewBotCookie -- возвращает новый *NetCookie
  18. func NewBotCookie() BotCookie {
  19. лог:=logger.НовЛоггер("NetCookie")
  20. лог.Инфо("NetCookie()\n")
  21. return BotCookie{
  22. лог: лог,
  23. }
  24. }
  25. // Уст -- устанавливает кукисы
  26. func (сам *BotCookie) Уст(cook []*http.Cookie) {
  27. сам.block.Lock()
  28. defer сам.block.Unlock()
  29. сам.лог.Паника(cook == nil, "NetCookie.Уст(): cookie == nil")
  30. сам.cookie = cook
  31. cookie := http.Cookie{
  32. Name: "JSESSIONID",
  33. Value: сам.cookie[0].Value,
  34. Raw: "JSESSIONID=" + сам.cookie[0].Value + "; _ym_uid=1642083867571238834; _ym_d=1642083867; _ym_isad=2; _ym_visorc=w",
  35. }
  36. cookie1 := сам.cookie[:0]
  37. сам.cookie = cookie1
  38. сам.cookie = append(сам.cookie, &cookie)
  39. cookie = http.Cookie{
  40. Name: "_ym_d",
  41. Value: "1642083867",
  42. }
  43. сам.cookie = append(сам.cookie, &cookie)
  44. cookie = http.Cookie{
  45. Name: "_ym_isad",
  46. Value: "2",
  47. }
  48. сам.cookie = append(сам.cookie, &cookie)
  49. cookie = http.Cookie{
  50. Name: "_ym_visorc",
  51. Value: "w",
  52. }
  53. сам.cookie = append(сам.cookie, &cookie)
  54. }
  55. // Получ -- возвращает хранимые кукисы
  56. func (сам *BotCookie) Получ() []*http.Cookie {
  57. return сам.cookie
  58. }