Имя: WebModule
Версия: 0.1
Минимальная версия хаба и lua-плагина: RusHub 2.1.3 LuaScripts 1.14
Описание: Модуль для встроенного веб-сервера. Парсит полученные данные, формируются таблицы.
Вызов модуля: require"web"
Функции модуля:
Web.GetEnv(sData) - забирает данные полученные в функции OnWebData и формирует таблицы
Web.OnWebData(WebID, tServer, tGet) - функция подгружает скрипты для обработки и отдачи веб-сервером.
Путь до папки со скриптами загружаемые веб-сервером: \www (корневая директория, в которой содержится RusHub.exe)
Молодец Влади. Что с 1 взгляда еще надо доделать: парсинг в массивы GET и POST, и еще самое важное замечание - в начале того что отправляет веб-сервер должны быть заголовки, отделяемые от контента пустой строкой, на сколько я знаю они обязательны. Попробуй покопаться с отладочными SendToAll в моих творениях на эту тему, там все есть
Хорошая работа.
Поясню как этим пользоваться. Пишем и запускаем скрипт:
Заголовки отправляет браузер, ты их и парсишь, а заголовки есть еще и в ответе браузеру до тела самой страницы, а хромик любит хорошие сервера что работают по документациям. Удачи в разработке, нужная штука как никак, надеюсь работает она быстро!
Клиенту не отсылаются бинарные данные. Например картинки. Чувствую что должна быть определённая структура отправляемого сообщения для картинок.
Для картинки отправляется заголовок Content-Type: тут_тип_данных
Для JPGи к примеру будет
что-то не совсем понял, как этим пользоваться. Вернее совсем не понял.
404 он мне выдает. Все значения в таблице none, кроме DOCUMENT_ROOT: тут указан путь до папки www - чего я только туда не пихал, и хтмл и переделанную хтмл в lua (за пример взял 404.lua)...
Ну и как всем этим добром распорядиться?
На самом деле это экспериментальный модуль. В папке www нужно создать файл index.lua, и используя язык lua формировать и отсылать клиенту ответ на его запрос. Исполнение данного сценария выполнено в простой Lua загрузке, что не очень удобно.
Ещё много чего нужно сделать, а пока многое что не правильно работает в принципе.
Мы хотим добиться использования lua со стороны сервера вместо php.
Наиболее приемлемый вариант тут: http://mydc.ru/topic3007.html однако он использует luasocket, а текущий модуль работает на встроенном веб сервере, что в разы быстрее при минимальной нагрузке на сервер. Посмотрев что необходимо для перевода скрипта Ника для работы на встроенном веб-сервере, действительно убедился в том, что необходима функция, возвращающая ip адрес клиента. Реализую эту функцию в ближайшее время.
Просто замечательная находка использовать конструкцию вида:
В деловом общении, да и вообще по-дружески лучше Ник или Николя, можно просто Н, но это отступление, как-то не любится мне "Коля". Не сочтите за замечание, это лишь просьба.
Парсер я сейчас еще больше извратил, версия 0.2 уже готова, я лишь хотел перед выходом ее в свет еще что-то доделать к скрипту, а именно связку с сторонними скриптами для их настройки, т.е. написать модуль, но пока не имею возможности. Если выйдет веб-сервер с определением IP то я переделаю веб-конфиг под него.