Add a web server in rc by maht
This commit is contained in:
parent
ebe450ec29
commit
4d728ab9a8
1 changed files with 30 additions and 0 deletions
30
bin/contrib/webserver.rc
Normal file
30
bin/contrib/webserver.rc
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
#!/usr/local/plan9/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
|
||||
Loading…
Add table
Add a link
Reference in a new issue