39 lines
1.4 KiB
Bash
39 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# IngRRD (https://forge.riquer.fr/p/ingrrd/)
|
|
# Copyright (C) 2014-2015 Vincent Riquer
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as
|
|
# published by the Free Software Foundation, either version 3 of the
|
|
# License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Affero General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
send_headers() {
|
|
local timestamp do_exit header thisdate expiredate
|
|
read timestamp < <(stat -c %Y $0 settings "$rrdfile" lib/* .importing 2>/dev/null|sort -r)
|
|
thisdate=$(LC_ALL=C TZ=GMT date +'%a, %d %b %Y %X %Z' -d @$timestamp)
|
|
expiredate=$(LC_ALL=C TZ=GMT date +'%a, %d %b %Y %X %Z' -d "+${1:-60} second")
|
|
if [[ $thisdate == $HTTP_IF_MODIFIED_SINCE ]]
|
|
then
|
|
echo "Status: 304 Not Modified"
|
|
do_exit=1
|
|
fi
|
|
echo "Last-Modified: $thisdate"
|
|
echo "Expires: $expiredate"
|
|
echo "Cache-Control: must-revalidate, max-age=${1:-60}"
|
|
while read header
|
|
do
|
|
echo "$header"
|
|
done
|
|
echo
|
|
(( do_exit )) && exit
|
|
}
|