Leon174
ЛуаВела :-)
Да прям. Пацаны под свои нужды запилили и не более того. Ни в Дефолд, ни в Солар, ни куда либо еще ее не возьмут. "На текущий момент мы удовлетворены стабильностью и набором возможностей нашей реализации. И хотя в силу изначальных ограничений наша реализация значительно уступает ванильной Lua и LuaJIT в плане переносимости, она решает многие наши проблемы – надеемся, эти решения пригодятся кому-то ещё." https://habr.com/ru/company/iponweb/blog/465441/
Leon174
И там Майк тоже активничает.
Highly Likely
С решенной пачкой проблем дефолтного жита
Leon174
Ну, это вопрос дискуссионный. Что они там решили-то? Решали свои задачи и как-то порешали, ок, рад за них. Кому-то еще это надо? Снус использует, например? Ах да, он же вроде под виндой сидит, а LuaVela кроссплатформу потеряла совсем, там только linux x86-64. Кому это надо, кроме них? Был вездеход типа унимога, получился паркетник. Зашибись улучшили.
Snusmumriken
Leon174
Дык о том и речь. Узкозаточенное решение, не более. Никто не кинулся встраивать LuaVela вместо ванили.
Leon174
"Ты ли чо ли?"
Leon174
А какие вопросы? Решали свои задачи и как-то решили. Какие тут вопросы?
Highly Likely
А в репе посмотреть?
Lucky
я смотрел недавно - не было.
Lucky
Хз, может где-то есть, а я не знаю. Потому и спрашиваю.
Алексей
Коллеги, доброго дня! Кто-то пользуется модулем - https://github.com/gsdenys/amqp-client/ Через него возможно установить message-ttl? в документации не нашел.
Микита
http://w3.impa.br/~diego/software/luasocket/http.html
а где в этой функции указать метод?
Микита
пробовал так, но все равно GET шлёт:
Микита
вот эту библу юзаю https://keplerproject.github.io/copas/manual.html
Микита
мб кто-то сможет понять и объяснить 😅
Andrey
пробовал так, но все равно GET шлёт:
покажи лог nginx на который шлет GET
Микита
[17/Jul/2020 15:37:02] "GET /get/messages/ HTTP/1.1" 200 499
Микита
да я сто процентов как-то не так аргумент передал
Микита
я просто совершенно не понимаю в документации к этому copas'у
Микита
мне нужно указать адрес, body, метод и заголовки
Микита
а у них в примере только адрес (request)
Andrey
мне кажется стоит использовать другую проверенную либу
Микита
а что есть ещё для асинхронных запросов? я только эту нагуглил
аннлн
cqueues
Andrey
ты хочешь сказать что тебе не надо дожидаться ответа сервера ?
Микита
ну мне важно то, чтобы не блокировался основной поток
Микита
иначе у меня игра для которой скрипт начинает лагать на долю секунды
Микита
во время запроса
Andrey
а почему бы тогда вебсокеты не использовать ?
Andrey
зачем прямой http запрос
Микита
ну я к api обращаюсь
Микита
только через post/get
Andrey
апи чужой ?
Микита
да
Andrey
если свой - перепиши его на ws
Микита
не, api только какой есть, ничего поменять не могу
Andrey
а если прикрутить веб сокет демоном который будет транслировать на локалхост ?
Andrey
ну там очередь все дела, если ответ сервера не важен
Микита
пхехе, та я думаю найдеться тот герой, который поймет документацию и объяснит
Микита
ну я на всякий случай на гитхабе еще задал issue
Snusmumriken
httpRequest({ url = "http://address", method = "POST", body = "mybody" })
Snusmumriken
а method откуда взялся?))
Snusmumriken
пробовал так, но все равно GET шлёт:
Я уже писал, ты уже спрашивал.
Snusmumriken
http://w3.impa.br/~diego/software/luasocket/http.html
А тут — прошу обратить внимание на фигурные скобки вместо круглых. Это таблица с именованными аргументами.
Микита
httpRequest({ url = "http://address", method = "POST", body = "mybody" })
доброй ночи, а откуда тут взялся method? в моей же функции нет такого параметра: function httpRequest(request, body, handler)
Микита
только request, body, handler
Микита
будет же ошибка
Snusmumriken
httpRequest и http.request это очевидно разные функции.
Snusmumriken
У тебя хттп-сервер, который принимает запрос и делает свои хттп-запросы для получения результата.
Микита
всмысле сервер? разве? я же просто шлю запросы
Snusmumriken
httpRequest — запросы к твоей тачке. http.request — запросы твоей тачки к другим.
Микита
ну вот моя функция сейчас
Микита
https://pastebin.com/fGynR3nn
Микита
вот где мне в ней указать метод?
Snusmumriken
А, ну тады всё проще
Микита
буду рад если носом тыкнешь меня
Snusmumriken
Так, всё, забудь последние пять минут.
Snusmumriken
Тем не менее, httpRequest и http.request это очевидно разные функции. http.request — это тем не менее функция луасокета, а httpRequest — обёртка вокруг неё.
Микита
local http = require 'copas.http'
Snusmumriken
http.request{url = r, body = b, method = "POST"}
Микита
блин, я так и пытался, но чет не хочет, щас покажу ошибку
Snusmumriken
local http = require 'copas.http'
Оно идентично http.request от luasocket.
Микита
ну вот у меня сейчас так: http.request(r, b) а нужно: http.request(url = r, body = b, method = "POST") да?
Snusmumriken
Посмотри глазами внимательно.
Микита
http.request({url = r, body = b, method = "POST"}
Микита
так?
Snusmumriken
Почти.
Snusmumriken
Вторую скобку забыл.
Микита
получилось, круто
Микита
только у меня ещё один вопрос возник, оно в response возвращает 1, вместо тела запроса
Snusmumriken
Потому что тебе нужно чтобы оно не лагало.
Snusmumriken
Если ты заметил, оно перестаёт возвращать body, вместо этого оно КОГДА-НИБУДЬ само вызовет handler.
Snusmumriken
Хотя если есть handler, тот код начинает идти по другому пути, и типа не ждёт пока оно не завершится. Хм.