]> git.plutz.net Git - confetti/blob - actions/static_file.sh
make prescriptions colored
[confetti] / actions / static_file.sh
1 #!/bin/zsh
2
3 # Copyright 2016 Paul Hänsch
4 #
5 # This file is part of Confetti.
6
7 # Confetti is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU Affero General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
11
12 # Confetti is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU Affero General Public License for more details.
16
17 # You should have received a copy of the GNU Affero General Public License
18 # along with Confetti.  If not, see <http://www.gnu.org/licenses/>. 
19
20 BR='
21 '
22 file="$(invalidate "${_GET[name]}" '\.' 'none')"
23 file="$_EXEC/templates/$file"
24
25 if [ -f "$file" ]; then
26   case "${file##*.}" in
27     png) printf 'Content-Type: image/png';;
28     html) printf 'Content-Type: text/html';;
29     txt) printf 'Content-Type: text/plain';;
30     *) printf 'Content-Type: application/octet-stream';;
31   esac
32   printf '\r\n'
33   printf 'Content-Length: %s\r\n' "$(stat -c %s "$file")"
34   printf '\r\n'
35   cat "$file"
36 else
37   printf 'HTTP/1.1 404 Not Found\n\n'
38 fi