parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

fathergorry 04.05.2021 16:33

Все оказалось очень просто.
В директории достаточно двух файлов: parser3 и auto.p
Содержимое auto.p минимум может состоять из четырех строк, кроме них вообще ничего не нужно:

@CLASS
httpd
@main[]
$request:uri

Я запустил parser3.exe -p localhost:8000, он сразу повис в процессах - объем 1880 кб или около того. Загрузка 0%, и при запросе не поднималась выше 0%.

В случае ошибки запуска выдает понятный текст в консоль. При ошибке выполнения отправляет ее в броузер, но это потому что я не переопределил @unhandled_exception.

Открыл http://localhost:8000/something.html?a=b и в броузер закономерно пришло something.html?a=b

Понятно, что сразу же можно задавать статус ответа, необходимые заголовки, и т.д.

Не очень понятно, куда помещать $cfg[$.parser[(\.html^$)]] и чем он обрабатывается.
Но это не критично, поскольку проще реализовать всю логику своими методами (ура! наконец-то сервер без собственного языка конфига!)

Понравилось, что при каждом запросе auto.p подгружается заново - то есть, для отладки не надо перезапускать вебсервер, как это сделано в node.js.

Разобрался в вопросе примерно за 25 минут от момента открытия мануала до появления ответа сервера в броузере.

Вопрос: вы пишете, для шифрования нужен nginx. А может, вместо этого можно как-то шифровать контент через ^file:exec[]? В HTTPS увы, не силен.


Насчет продакшна: SPA пойдет сразу без вопросов, вот только с https разберусь.