ref: 220cfb7a23dd0e6f6efb2cabe1389e723073e5b6
dir: /handlers/serve-static/
#!/bin/rc
full_path=`{echo $"fs_root^$"location | urlencode -d}
full_path=$"full_path
if(! ~ `{cleanname -d$fs_root $full_path} `{cleanname $fs_root}^*){
error 53 'path not allowed'
exit
}
if(! test -e $full_path){
error 51 'file does not exist'
exit
}
if(! test -r $full_path){
error 40 'file is not readable'
exit
}
switch($full_path){
case *.gem *.gemini *.gmi
type=text/gemini
case *.md
type=text/markdown
case *.txt
type=text/plain
case *.jpg *.jpeg
type=image/jpeg
case *.gif
type=image/gif
case *.png
type=image/png
case *
type=`{file -m $full_path}
}
echo 20' '$type^$cr
cat $full_path