#!/usr/bin/env bash
#
# onx-webserver-version — driver versiyon
#
# Input: {"driver":"apache|nginx|openlitespeed|caddy"}
# Output: {"ok":true,"version":"X.Y.Z"}

set -uo pipefail
input="$(cat 2>/dev/null || echo '{}')"
driver="$(echo "$input" | jq -r '.driver // empty')"

version=""
case "$driver" in
    apache)         version="$(httpd -v 2>/dev/null | head -1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1)" ;;
    nginx)          version="$(nginx -v 2>&1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1)" ;;
    openlitespeed)  version="$(/usr/local/lsws/bin/lshttpd -v 2>/dev/null | head -1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1)" ;;
    caddy)          version="$(caddy version 2>/dev/null | head -1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1)" ;;
    *)              jq -nc --arg d "$driver" '{ok:false,error:"unknown driver",driver:$d}' >&2; exit 1 ;;
esac

[[ -z "$version" ]] && { jq -nc --arg d "$driver" '{ok:false,error:"not installed",driver:$d,version:"unknown"}' ; exit 0; }

jq -nc --arg driver "$driver" --arg version "$version" '{ok:true, driver:$driver, version:$version}'
