X-Git-Url: http://git.plutz.net/?p=cgilite;a=blobdiff_plain;f=file.sh;h=82eefae0af0298b09a64261913947d0622752aba;hp=9f734c1d2dc2e1f33619d5cbe820c5c011221cc9;hb=55052a16e5c2792b25c90b8aea0e3daea06b533a;hpb=a96b0fcd8fb4afad4e169a3929270e2335cf4d0d diff --git a/file.sh b/file.sh index 9f734c1..82eefae 100755 --- a/file.sh +++ b/file.sh @@ -1,4 +1,4 @@ -#!/bin/zsh +#!/bin/sh # Copyright 2016 - 2018 Paul Hänsch # @@ -17,6 +17,9 @@ # You should have received a copy of the GNU Affero General Public License # along with cgilite. If not, see . +[ -n "$include_fileserve" ] && return 0 +include_fileserve="$0" + file_type(){ case ${1##*.} in html|html) printf 'text/html';; @@ -37,7 +40,7 @@ file_type(){ } FILE(){ - unset range file_size file_date http_date cachedate + local file file_size file_date http_date cachedate range file="$1" if ! [ -f "$file" ]; then @@ -63,7 +66,7 @@ FILE(){ s;^[^ ]+ (...) ([0-9]) (..:..:..) ([0-9]{4})$;\4-\1-\2 \3;; s;Jan;01;; s;Feb;02;; s;Mar;03;; s;Apr;04;; s;May;05;; s;Jun;06;; s;Jul;07;; s;Aug;08;; s;Sep;09;; s;Oct;10;; s;Nov;11;; s;Dec;12;;' \ - | xargs -0 date +%s -ud 2>&- + | xargs -r0 date +%s -ud 2>&- )" range="$(HEADER Range |sed -nr 's;^bytes=([0-9]+-[0-9]*|-[0-9]+)$;\1;p;q;')" @@ -106,7 +109,7 @@ FILE(){ [ "$REQUEST_METHOD" != HEAD ] \ && tail -c+$((${range%-*} + 1)) "$file" \ - | head -c "$((${range#*-} - ${range%-*} + 1))" + | head -c "$((${range#*-} - ${range%-*} + 1))" elif [ "${range%-*}" -gt "${range#*-}" ]; then printf '%s: %s\r\n' \