Маршрутизация VGI

Как я отмечал ранее в записи журнала разработки gemini сервера vostok, у меня в работе есть несколько проектов, реализуемых через VGI:

vostok 🚀 0.2.1 (VGI_CERT_HASH, bugfix)

Так как это физически разные скрипты (даже на разных языках программирования) вокруг этого нужен некоторый маршрутизатор. Нужно по началу URL распределять запросы соответствующему скрипту. Например: если входящий URL начинается с "gemini://any-key.press/vgi/gtransl/", то нужно вызвать скрипт gtransl.retro.

GTransl 🔁 Gemini фронтенд к Google переводчику

Как оказалось эта задача элегантно решается обычным shell скриптом. Я попробовал написать эту функцию на RetroForth и на Python: бессмысленная суета)) А shell скрипт получился всего c десяток строк:

#!/bin/sh

URL=$(cat -)

case $URL in
    gemini://any-key.press/vgi/gtransl/* )
        echo $URL | ./gtransl/gtransl.retro
        exit $?
        ;;
esac

echo "51 Not found"

Подобный скрипт (но с дополнительными cas'ами для разрабатываемых проектов) я и прописал в аргумент -e в демоне сервера vostok.

vostok 🚀 0.2.1 (тут можно найти описание опций для VGI)