~moody/rc-gemd

ed5406089b36f97cbe0178a8bcb24652f4d4022a — Moody 10 months ago
Initial commit
4 files changed, 53 insertions(+), 0 deletions(-)

A handlers/error
A handlers/serve-static
A rc-gemd
A select-handler
A  => handlers/error +2 -0
@@ 1,2 @@
#!/bin/rc
echo $1^' '^$2^$cr

A  => handlers/serve-static +31 -0
@@ 1,31 @@
#!/bin/rc
full_path=`{echo $"fs_root^$"location | urlencode -d}
full_path=$"full_path

if(! test -e $full_path){
	error 41 'file does not exist'
	exit
}

if(! test -r $full_path){
	error 42 'file is not readble'
	exit
}

switch($full_path){
case *.gem *.gemini
        type=text/gemini
case *.txt *.md
        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

A  => rc-gemd +17 -0
@@ 1,17 @@
#!/bin/rc
rc_gemd_dir=/rc/bin/rc-gemd
path=(/bin $rc_gemd_dir/handlers)
cr=

url=`{sed 's/'$cr'//;1q'}
if(~ $url *://*){
	scheme=`{echo $url | sed 's,://.*,,g'}
	url=`{echo $url | sed 's,'^$scheme^'://,,'}
}
if not
	scheme='gemini://'

server_name=`{echo $url | sed 's,/.*,,'}
location=`{echo $url | sed 's,[a-zA-Z0-9.]+/,/,'}

. $rc_gemd_dir/select-handler

A  => select-handler +3 -0
@@ 1,3 @@
#!/bin/rc
fs_root=/lib/gem
exec serve-static