#!/bin/bash
META="text/gemini; charset=utf-8"
input="${QUERY_STRING//[^abcde12345CFS+\-><]/}"
if [ -n "$input" ]; then
    new_ptn="${PATH_INFO//[^abcde12345CFS.+\-LR]/}"
    new_ptn=$(echo $new_ptn | tr 'LR' '<>')
    printf '20 %s\r\n' "$META"
    printf '```\n'
    while [ "$(pgrep geminict | wc -l)" -gt 10 ]; do
	sleep 0.5s;
    done
    attempt_ptn="$new_ptn$input."
    output=$(geminict ${attempt_ptn@Q})
    if [ "$?" == "0" ]; then
	ct1986=$(echo "$output" | awk '/ct1986 says:/ {print $3}')
	new_ptn="$attempt_ptn$ct1986."
    fi;
    new_ptn=${new_ptn//>/R}; new_ptn=${new_ptn//</L};
    printf '%s\n' "$output"
    printf '```\n'
    echo 'Please be patient, ct1986 is a slow bot and no more than 10 instances are allowed concurrently on the server.'
    echo "=> gemini://l-3.space/tak/$new_ptn/ Enter ply"
    echo 'Note: all input is stripped to match only [abcde12345CFS+-<>].'
else
    printf "10 Enter ply:\r\n"
fi;
