diff options
Diffstat (limited to 'entry')
-rw-r--r-- | entry | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -0,0 +1,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 index.html +elif startswith "article/" "$1" +then cd article; ./entry "$(after / $1)" +elif startswith "admin/" "$1" +then cd admin; ./entry "$(after / $1)" +else cat 404.html +fi |