#!/usr/bin/env bash

# We want to catch any unexpected failure, and exit immediately
set -e

# Download helper for wget, to be called from the download wrapper script
#
# Options:
#   -q          Be quiet.
#   -o FILE     Save into file FILE.
#   -f FILENAME The filename of the tarball to get at URL
#   -u URL      Download file at URL.
#   -e ENCODE   Tell wget to urlencode the filename passed to it
#
# Environment:
#   WGET     : the wget command to call

verbose=
while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do
    case "${OPT}" in
    q)  verbose=-q;;
    o)  output="${OPTARG}";;
    f)  filename="${OPTARG}";;
    u)  url="${OPTARG}";;
    e)  encode="-e";;
    :)  printf "option '%s' expects a mandatory argument\n" "${OPTARG}"; exit 1;;
    \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;;
    esac
done

shift $((OPTIND-1)) # Get rid of our options

# Caller needs to single-quote its arguments to prevent them from
# being expanded a second time (in case there are spaces in them)
_wget() {
    eval ${WGET} "${@}"
}

# Replace every '?' with '%3F' in the filename; only for the PRIMARY and BACKUP
# mirror
[ -n "${encode}" ] && filename=${filename//\?/%3F}

_wget ${verbose} "${@}" -O "'${output}'" "'${url}/${filename}'"
