#!/bin/bash CURL="/usr/bin/curl" CREDS="$HOME/.ngcp-api" TOOLS="/usr/share/ngcp-panel-tools/ngcp-api.inc" usage () { cat << EOF Usage: $0 [OPTIONS] [content-type] sends a post 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 } if [ -z "$APIUSER" ] ; then if [ -f "$TOOLS" ] ; then source "$TOOLS" importcreds "$CREDS" else APIUSER="administrator:administrator" fi fi 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" if [ -z "$URL" ] ; then usage fi CTYPE=${2:-application/json} ${CURL} -i ${VERBOSE} -X POST \ -H 'Connection: close' -H 'Prefer: return=representation' \ -H "Content-Type: $CTYPE" \ --user "$APIUSER" --insecure "${FILE_INPUT[@]}" "$URL" "${INPUT[@]}"