46 lines
1.1 KiB
Bash
46 lines
1.1 KiB
Bash
|
#!/usr/bin/env sh
|
||
|
|
||
|
PATH_TRANSLATED=`readlink -fn ./serve-request.awk`;
|
||
|
SERVER_NAME=`uname -n`;
|
||
|
|
||
|
if [ -n "$NCAT_REMOTE_ADDR" ];
|
||
|
then REMOTE_ADDR="$NCAT_REMOTE_ADDR";
|
||
|
elif [ -n "$SOCAT_PEERADDR" ];
|
||
|
then REMOTE_ADDR="$SOCAT_PEERADDR";
|
||
|
else REMOTE_ADDR="127.0.0.1";
|
||
|
fi
|
||
|
|
||
|
if [ -n "$SOCAT_SOCKPORT" ];
|
||
|
then SERVER_PORT="$SOCAT_SOCKPORT";
|
||
|
else SERVER_PORT="1965";
|
||
|
fi
|
||
|
|
||
|
|
||
|
read -r URL GARBAGE;
|
||
|
REQUEST_FULL_URL=${URL%?}; # Remove "\r" at the end
|
||
|
|
||
|
echo "$REQUEST_FULL_URL" | awk \
|
||
|
-v AUTH_TYPE="" \
|
||
|
-v CONTENT_LENGTH="" \
|
||
|
-v CONTENT_TYPE="" \
|
||
|
-v GATEWAY_INTERFACE="CGI/1.1" \
|
||
|
-v PATH_TRANSLATED="$PATH_TRANSLATED" \
|
||
|
-v REMOTE_ADDR="$REMOTE_ADDR" \
|
||
|
-v REMOTE_HOST="$REMOTE_ADDR" \
|
||
|
-v REMOTE_USER="" \
|
||
|
-v REQUEST_FULL_URL="$REQUEST_FULL_URL" \
|
||
|
-v REQUEST_METHOD="GET" \
|
||
|
-v SCRIPT_NAME="/" \
|
||
|
-v SERVER_NAME="$SERVER_NAME" \
|
||
|
-v SERVER_PORT="$SERVER_PORT" \
|
||
|
-v SERVER_PROTOCOL="GEMINI" \
|
||
|
-v SERVER_SOFTWARE="Gebase" \
|
||
|
-f lib/exec.awk \
|
||
|
-f lib/io.awk \
|
||
|
-f lib/str.awk \
|
||
|
-f lib/url.awk \
|
||
|
-f lib/request.awk \
|
||
|
-f lib/response.awk \
|
||
|
-f lib/tags.awk \
|
||
|
-f serve-request.awk
|