33 lines
635 B
Bash
33 lines
635 B
Bash
|
#!/bin/bash
|
||
|
printf '%s\n\n' 'Content-Type: text/html';
|
||
|
|
||
|
source ../src/exprash.sh;
|
||
|
|
||
|
declare -A cats;
|
||
|
cats[calico]="Calico";
|
||
|
cats[sphynx]="Sphynx";
|
||
|
cats[ragdoll]="Ragdoll";
|
||
|
cats[scottish_fold]="Scottish Fold";
|
||
|
|
||
|
get '/' && {
|
||
|
printf '<h1>Cats</h1>\n';
|
||
|
printf '<ul>\n';
|
||
|
for key in "${!cats[@]}"; do
|
||
|
printf '<li><a href="cats/%s">%s</a></li>\n' "$key" "${cats[$key]}";
|
||
|
done
|
||
|
printf '</ul>\n';
|
||
|
}
|
||
|
|
||
|
get '/cats/:cat' && {
|
||
|
key=$(param 'cat');
|
||
|
|
||
|
if [[ -v "cats[$key]" ]]; then
|
||
|
printf '<h1>Your Cat: %s</h1>\n' "${cats[$key]}";
|
||
|
else
|
||
|
next;
|
||
|
fi;
|
||
|
}
|
||
|
|
||
|
all '/cats/:cat' && {
|
||
|
printf '<h1>Error: Cannot find that cat</h1>\n';
|
||
|
}
|