#!/usr/bin/env bash

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

# Download helper for scp, to be called from the download wrapper script
#
# Options:
#   -q          Be quiet.
#   -o FILE     Copy to local file FILE.
#   -u FILE     Copy from remote file FILE.
#
# Environment:
#   SCP       : the scp command to call

verbose=
while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do
    case "${OPT}" in
    q)  verbose=-q;;
    o)  output="${OPTARG}";;
    u)  uri="${OPTARG}";;
    :)  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)
_scp() {
    eval ${SCP} "${@}"
}

_scp ${verbose} "${@}" "'${uri}'" "'${output}'"
