Ответ
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 разберусь.