summaryrefslogtreecommitdiff
path: root/entry
blob: d5c02a800f519514fdfcb4060d2c13f292ae362d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
# This is the process to be called.
# $proc and $base (initial working directory) is already set.
# Requested path is in $1, any other request data is in proc/$proc/request.
# Usually you want to dispatch the path here and call some other programs. =)
# Path has ending / and no starting one (apth for root is empty).
# Response meta should be formed in proc/$proc/response,
# output is response body.
after () { test -z "${2##*$1*}" && echo -n "${2#*$1}"; }
startswith() { case $2 in "$1"*) true;; *) false;; esac; }
if test -z "$1"
then cat data/index.html
elif startswith "article/" "$1"
then cd article; ./entry "$(after / $1)"
elif startswith "admin/" "$1"
then cd admin; ./entry "$(after / $1)"
else cat data/404.html
fi