#!/bin/sh

#
# Skript "CGI" - gibt die CGI-Umgebung aus.
#

PATH="/usr/local/www/bin:${PATH}"   # Zugriffspfad für cgiutils
export PATH

#
# Header:
#
cgiutils -ct text/html -expires now

#
# Body:
#
echo "<HTML><HEAD>"
echo "<TITLE>CGI-Umgebung</TITLE>"
echo "</HEAD><BODY>"

echo "<H1>CGI-Umgebung</H1>"

#
# Ausgabe der Kommandozeile. Der Name des Skripts ist immer in $0
# verfügbar. 
echo "<HR><H2>Kommandozeile:</H2>"
echo "<CODE>"
echo "<UL>"
echo "<LI><STRONG>argv[0]:</STRONG> $0"
count=1;
while [ "$1" != "" ]; do
    echo "<LI><STRONG>argv[${count}]:</STRONG> $1"
    count=`expr ${count} + 1`
    shift
done;
echo "</UL>"
echo "</CODE>"

echo "<HR><H2>Im CGI-Standard fest definierte Umgebungsvariablen:</H2>"
echo "<H3>Server-spezifische Informationen:</H3>"
echo "<CODE>"
echo "<UL>"
echo "<LI><STRONG>SERVER_SOFTWARE:</STRONG> ${SERVER_SOFTWARE}"
echo "<LI><STRONG>SERVER_NAME:</STRONG> ${SERVER_NAME}"
echo "<LI><STRONG>GATEWAY_INTERFACE:</STRONG> ${GATEWAY_INTERFACE}"
echo "</UL>"
echo "</CODE>"

echo "<H3>Request-spezifische Informationen:</H3>"
echo "<CODE>"
echo "<UL>"
echo "<LI><STRONG>SERVER_PROTOCOL:</STRONG> ${SERVER_PROTOCOL}"
echo "<LI><STRONG>SERVER_PORT:</STRONG> ${SERVER_PORT}"
echo "<LI><STRONG>REQUEST_METHOD:</STRONG> ${REQUEST_METHOD}"
echo "<LI><STRONG>PATH_INFO:</STRONG> ${PATH_INFO}"
echo "<LI><STRONG>PATH_TRANSLATED:</STRONG> ${PATH_TRANSLATED}"
echo "<LI><STRONG>SCRIPT_NAME:</STRONG> ${SCRIPT_NAME}"
echo "<LI><STRONG>QUERY_STRING:</STRONG> ${QUERY_STRING-<EM>undefiniert</EM>}"
echo "<LI><STRONG>REMOTE_HOST:</STRONG> ${REMOTE_HOST}"
echo "<LI><STRONG>REMOTE_ADDR:</STRONG> ${REMOTE_ADDR}"
echo "<LI><STRONG>AUTH_TYPE:</STRONG> ${AUTH_TYPE}"
echo "<LI><STRONG>REMOTE_USER:</STRONG> ${REMOTE_USER}"
echo "<LI><STRONG>REMOTE_IDENT:</STRONG> ${REMOTE_IDENT}"
echo "<LI><STRONG>CONTENT_TYPE:</STRONG> ${CONTENT_TYPE}"
echo "<LI><STRONG>CONTENT_LENGTH:</STRONG> ${CONTENT_LENGTH}"
echo "</UL>"
echo "</CODE>"

echo "<HR><H2>HTTP-Headern entsprechende Umgebungsvariablen</H2>"
echo "<CODE>"
echo "<UL>"
set | grep HTTP_ | sort | sed -e 's|\(HTTP_.*\)=\(.*\)|<LI><STRONG>\1:</STRONG> \2|'
echo "</UL>"
echo "</CODE>"

echo "<HR><H2>Standardeingabe</H2>"
if [ "${REQUEST_METHOD}" != "GET" ]; then
    echo "<P><PRE>"
    cgiparse -read
    echo "</PRE></P>"
else
    echo "<P><EM>Die Standardeingabe ist bei Zugriffsmethode"
    echo "${REQUEST_METHOD} leer.</EM></P>"
fi

echo "</BODY></HTML>"