File download_url of Package obs-service-download_url
#!/bin/bash
#
# Copyright (c) 2009 Adrian Schroeter, SUSE Linux Products GmbH.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program (see the file COPYING); if not, write to the
# Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
#
################################################################
# defaults
MYPROTOCOL="http"
MYHOST=""
MYPORT=""
while test $# -gt 0; do
case $1 in
*-host)
MYHOST="$2"
shift
;;
*-port)
MYPORT=":$2"
shift
;;
*-protocol)
MYPROTOCOL="$2"
shift
;;
*-path)
MYPATH="${2#/}"
shift
;;
*-filename)
MYFILENAME="${2#/}"
shift
;;
*-outdir)
MYOUTDIR="$2"
shift
;;
*)
echo Unknown parameter $1.
echo 'Usage: http_download --host $HOST --path $PATH --outdir $OUT'
exit 1
;;
esac
shift
done
FILE="${MYPATH##*/}"
if [ -z "$MYHOST" ]; then
echo "ERROR: no hostname is given via --host parameter!"
exit 1
fi
if [ -z "$MYPATH" ]; then
echo "ERROR: no path is given via --path parameter!"
exit 1
fi
if [ -z "$MYOUTDIR" ]; then
echo "ERROR: no output directory is given via --outdir parameter!"
exit 1
fi
if [ -z "$FILE" ]; then
echo "ERROR: no file name was stripped from $MYPATH"
exit 1
fi
cd "$MYOUTDIR"
# yes, not nice, but too many broken servers out there who either break with IPv6 or have broken certificates :/
# let's use verify service to validate the downloaded source
if [ -n "$MYFILENAME" ]; then
exec /usr/bin/wget -4 --no-check-certificate -q -O "$MYFILENAME" "$MYPROTOCOL://${MYHOST}${MYPORT}/$MYPATH"
else
exec /usr/bin/wget -4 --no-check-certificate -q "$MYPROTOCOL://${MYHOST}${MYPORT}/$MYPATH"
fi