X-Git-Url: http://git.plutz.net/?p=cgilite;a=blobdiff_plain;f=file.sh;h=06f28d02f5640abfbfd560641348e8c8e8cd6e22;hp=aaa3723d29cc8c5ea1b6d8ffa732aad5b4566fa1;hb=40c5373a1f5eb710635f340e88c31f8c9dfedfeb;hpb=750ac074f123acdc39d7e316224c4416b7d85acc diff --git a/file.sh b/file.sh index aaa3723..06f28d0 100755 --- a/file.sh +++ b/file.sh @@ -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';; @@ -41,10 +44,10 @@ FILE(){ file="$1" if ! [ -f "$file" ]; then - printf 'Status: 404 Not Found\r\n\r\n' + printf 'Content-Length: 0\r\nStatus: 404 Not Found\r\n\r\n' exit 0 elif ! [ -r "$file" ]; then - printf 'Status: 403 Forbidden\r\n\r\n' + printf 'Content-Length: 0\r\nStatus: 403 Forbidden\r\n\r\n' exit 0 fi @@ -70,7 +73,7 @@ FILE(){ case "$range" in *-) range="${range}$((file_size - 1))";; -*) [ ${range#-} -le $file_size ] \ - && range="$((file-size - ${rang#-}))-$((file_size - 1))" \ + && range="$((file_size - ${range#-}))-$((file_size - 1))" \ || range="0-$((file_size - 1))";; *-*) [ ${range#*-} -ge $file_size ] \ && range="${range%-*}-$((file_size - 1))";; @@ -79,6 +82,7 @@ FILE(){ if [ "$file_date" -lt "$cachedate" ] 2>&-; then printf '%s: %s\r\n' \ Status '304 Not Modified' \ + Content-Length 0 \ Last-Modified "$http_date" printf '\r\n' @@ -110,6 +114,7 @@ FILE(){ elif [ "${range%-*}" -gt "${range#*-}" ]; then printf '%s: %s\r\n' \ Status "216 Range Not Satisfiable" \ + Content-Length 0 \ Content-Range \*/${file_size} printf '\r\n' fi