You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ngcp-panel/tools_bin/ngcp-api-put

53 lines
882 B

#!/bin/sh
CURL="/usr/bin/curl"
usage () {
cat << EOF
Usage: $0 [OPTIONS] <url> [content-type]
sends a put request to NGCP REST API
OPTIONS:
-h this help
-v verbose mode
-f read the input info from a file instead of read stdin
EOF
exit 1
}
test -z "$APIUSER" && APIUSER="administrator:administrator"
INPUT="-T -"
while getopts "f:hv" OPTION
do
case $OPTION in
h)
usage
;;
f)
INPUT=""
FILE_INPUT="--data-binary @$OPTARG"
if [ ! -f "$OPTARG" ]; then
echo "No '$OPTARG' file found"
usage
fi
;;
v)
VERBOSE="--verbose"
;;
?)
usage
;;
esac
done
shift $(($OPTIND - 1))
URL="$1"
test -z "$URL" && usage;
CTYPE=${2:-application/json}
${CURL} -i ${VERBOSE} -X PUT \
-H 'Connection: close' -H 'Prefer: return=representation' \
-H "Content-Type: $CTYPE" \
--user "$APIUSER" --insecure ${FILE_INPUT} "$URL" ${INPUT}