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-patch

58 lines
967 B

#!/bin/sh
CURL="/usr/bin/curl"
usage () {
cat << EOF
Usage: $0 [OPTIONS] <url>
sends a patch request to NGCP REST API
OPTIONS:
-h this help
-v verbose mode
-f read the input info from a file instead of read stdin
-m use Header 'Refer: return=minimal'
EOF
exit 1
}
test -z "$APIUSER" && APIUSER="administrator:administrator"
INPUT="-T -"
CTYPE="application/json-patch+json"
PREFER="representation"
while getopts "mf: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
;;
m)
PREFER="minimal"
;;
v)
VERBOSE="--verbose"
;;
?)
usage
;;
esac
done
shift $(($OPTIND - 1))
URL="$1"
test -z "$URL" && usage;
${CURL} -i ${VERBOSE} -X PATCH \
-H 'Connection: close' -H "Prefer: return=$PREFER" \
-H "Content-Type: $CTYPE" \
--user "$APIUSER" --insecure ${FILE_INPUT} "$URL" ${INPUT}