#!/bin/sh
#
# History:
#   20010216 GRR  created (lynx version)
#   20010219 GRR  updated (302, 405, 500); Perl HEAD version

PATH=/usr/bin:/bin
export PATH

#HEADCMD="lynx -dump -head"
HEADCMD="HEAD"

FDATE="/home/roelofs/bin/i686/fdate"

if [ "$1" = "" ]; then
    echo "usage:  check-urls <bookmarks.html>"
    exit 1
fi

egrep HREF $1 | sed -e 's/^.*HREF="//' -e 's/".*//' |
while read url; do
    before=`$FDATE -su`
    response=`$HEADCMD "$url" \
	| head -1 \
	| sed -e 's/^HTTP\/[^ ]* //' -e 's/ .*//'`
    after=`$FDATE -su`
    elapsed=`echo "$after $before - p" | dc`
    echo -n '"'"$url"'"'"  $response  "
    case $response in
        200 | 301 | 302)
            echo -n "green"
            ;;
        404)
            echo -n "red"
            ;;
        403)
            echo -n "yellow"
            ;;
        405 | 500)
            echo -n "orange"
            ;;
        *)
            echo -n "white"
            ;;
    esac
    echo "  ($elapsed seconds)"
done
