diff options
Diffstat (limited to 'bin/contrib/webserver.rc')
-rwxr-xr-x | bin/contrib/webserver.rc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/bin/contrib/webserver.rc b/bin/contrib/webserver.rc new file mode 100755 index 0000000..8044565 --- /dev/null +++ b/bin/contrib/webserver.rc @@ -0,0 +1,30 @@ +#!/bin/rc + +# A web server in rc by maht +# Originally from http://www.proweb.co.uk/~matt/rc/webserver.rc + +ifs=' ' +request=`{sed 1q} + +url=$request(2) +file=`{echo $url | sed 's/http:\/\/[^\/]*//' | tr -d \012} + +if(test -d $file){ + file=$file ^'/index.html' +} +if(test -e $file) { + response='200' +} +if not { + response='404' + file='404.html' +} + +echo 'HTTP/1.1 ' ^$response +echo 'Date: ' `{date} +echo 'Server: rc shell' +echo 'Content-Length: ' `{cat $file | wc -c | tr -d ' '} +echo 'Content-Type: ' `{file -i $file | awk '{ print $2 }'} +echo 'Connection: close' +echo +cat $file |