#!/bin/sh

#
# CGIスクリプトのヘッダを出力する(HTML文書形式)
#
echo Content-type: text/html
echo

echo "<HTML>"
echo "<HEAD>"
echo "<TITLE>CGI Test</TITLE>"
echo "</HEAD>"
echo "<BODY>"
echo "<PRE>"
#
# タイトルを表示する
#
echo =======================================================
echo "wwwcgish.cgiによるレポート出力" | /usr/local/bin/nkf -j
echo =======================================================
echo

#
# カレントディレクトリ、引数、各種環境変数を表示する
#
echo "Current Directory = [ `pwd` ]"
echo
echo "Argument[0] = [ $0 ]"
echo "Argument[1] = [ $1 ]"
echo "Argument[2] = [ $2 ]"
echo "Argument[3] = [ $3 ]"
echo
echo "LANG = [ $LANG ]"
echo "PATH = [ $PATH ]"
echo "SHELL = [ $SHELL ]"
echo "TZ = [ $TZ ]"
echo "USER = [ $USER ]"
echo
echo "AUTH_TYPE = [ $AUTH_TYPE ]"
echo "CONTENT_TYPE = [ $CONTENT_TYPE ]"
echo "CONTENT_LENGTH = [ $CONTENT_LENGTH ]"
echo "GATEWAY_INTERFACE = [ $GATEWAY_INTERFACE ]"
echo "HTTP_REFERER = [ $HTTP_REFERER ]"
echo "HTTP_USER_AGENT = [ $HTTP_USER_AGENT ]"
echo "PATH_INFO = [ $PATH_INFO ]"
echo "PATH_TRANSLATED = [ $PATH_TRANSLATED ]"
echo "QUERY_STRING = [ $QUERY_STRING ]"
echo "REMOTE_ADDR = [ $REMOTE_ADDR ]"
echo "REMOTE_HOST = [ $REMOTE_HOST ]"
echo "REMOTE_IDENT = [ $REMOTE_IDENT ]"
echo "REMOTE_USER = [ $REMOTE_USER ]"
echo "REQUEST_METHOD = [ $REQUEST_METHOD ]"
echo "SCRIPT_NAME = [ $SCRIPT_NAME ]"
echo "SERVER_NAME = [ $SERVER_NAME ]"
echo "SERVER_PORT = [ $SERVER_PORT ]"
echo "SERVER_PROTOCOL = [ $SERVER_PROTOCOL ]"
echo "SERVER_SOFTWARE = [ $SERVER_SOFTWARE ]"
echo

#
# 引数やフォームの入力値を表示する
#
/usr/local/bin/perl -e '
    if ($ENV{'REQUEST_METHOD'} eq "POST") {
        read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'});
    } else {
        $query_string = $ENV{'QUERY_STRING'};
    }

    @a = split(/&/, $query_string);

    foreach $a (@a) {
        ($name, $value) = split(/=/, $a);
        $value =~ tr/+/ /;
        $value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C",hex($1))/eg;
        printf("%s = %s\n", $name, $value);
    }
'
echo "</PRE>"
echo "</BODY>"
echo "</HTML>"