| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- package bot_net
- import (
- . "gitp78su.ipnodns.ru/svi/kern"
- . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
- . "wartank/app/lev0/types"
- "wartank/app/lev3/bot/bot_net/bot_http_conn"
- "wartank/app/lev3/bot/bot_net/bot_net_login"
- "wartank/app/lev3/bot/bot_net/http_worker"
- )
- /*
- Веб-клиент для выполнения запросов на сервер
- */
- // БотСеть -- веб-клиент для выполнения запросов на веб-сервер
- type БотСеть struct {
- бот ИБот
- соедХттп *bot_http_conn.БотХттпСоед
- логин *bot_net_login.БотСетьЛогин
- еслиОнлайн ISafeBool
- вебВоркер ИХттпВоркер
- ctx ILocalCtx
- лог ILogBuf
- }
- // НовБотСеть -- возвращает новый коннект к сети бота
- func НовБотСеть(конт ILocalCtx) *БотСеть {
- лог := NewLogBuf()
- лог.Info("НовБотСеть()\n")
- бот := конт.Get("бот").Val().(ИБот)
- лог.Info("НовБотСеть(): имя=%q\n", бот.Имя())
- ctx := NewLocalCtx(конт.Ctx())
- сам := &БотСеть{
- бот: бот,
- соедХттп: bot_http_conn.НовБотХттпСоед(),
- еслиОнлайн: NewSafeBool(),
- ctx: ctx,
- лог: лог,
- }
- конт.Set("хттпКлиент", сам.соедХттп.ХттпКлиент(), "HTTP-клиент для запросов")
- конт.Set("ботСеть", сам, "Сеть бота")
- сам.вебВоркер = http_worker.НовХттпВоркер(конт)
- // Подключаем сетевой логин
- сам.логин = bot_net_login.НовБотСетьЛогин(конт)
- сам.еслиОнлайн.Set()
- _ = ИБотСеть(сам)
- return сам
- }
- // Бот -- возвращает ссылку на своего бота
- func (сам *БотСеть) Бот() ИБот {
- return сам.бот
- }
- // Контекст -- контекст сети бота
- func (сам *БотСеть) Контекст() ILocalCtx {
- return сам.ctx
- }
- // ЕслиОнлайн -- возвращает признак нахождения в онлайне
- func (сам *БотСеть) ЕслиОнлайн() ISafeBool {
- return сам.еслиОнлайн
- }
- // ВебВоркер -- возвращает веб-воркер бота
- func (сам *БотСеть) ВебВоркер() ИХттпВоркер {
- return сам.вебВоркер
- }
- // Куки -- возвращает куки для HTTP-коннект
- func (сам *БотСеть) Куки() ИБотКуки {
- return сам.соедХттп.Куки()
- }
|