|
- #!/bin/bash
- #
- # Copyright (c) 2020 Bubble, Inc. All rights reserved. For personal (non-commercial) use, see license: https://getbubblenow.com/bubble-license/
- #
- #
- # Run an HTTP PUT against the API
- #
- # Usage:
- #
- # bput path file [options]
- #
- # path : an API path
- # file : a JSON file to PUT. To read from stdin, specify the file as -
- # options : bscript options, see bubble.main.BubbleScriptOptions (and parent classes) for more info
- #
- # Environment variables
- #
- # BUBBLE_ENTITY : the filename that contains the JSON to send in the PUT. If empty, entity is read from stdin
- # BUBBLE_API : which API to use. Default is local (http://127.0.0.1:PORT, where PORT is found in .bubble.env)
- # BUBBLE_USER : account to use. Default is root
- # BUBBLE_PASS : password for account. Default is root
- # BUBBLE_INCLUDE : path to look for JSON include files. default value is to assume we are being run from
- # bubble repo, bubble-models repo, or bubble-client and use include files from minimal model.
- #
- SCRIPT="${0}"
- SCRIPT_DIR=$(cd $(dirname ${SCRIPT}) && pwd)
- . ${SCRIPT_DIR}/bubble_common
-
- URL="${1:?no URL provided}"
- shift
-
- REQUEST_JSON="${1}"
- if [[ -z "${REQUEST_JSON}" ]] ; then
- die "No request JSON file specified. Use - to read from stdin"
- fi
- if [[ "${REQUEST_JSON}" == "-" ]] ; then
- echo 1>&2 "Reading request JSON from stdin"
-
- elif [[ ! -f "${REQUEST_JSON}" && "${REQUEST_JSON}" != /dev/null ]] ; then
- die "Request JSON file does not exist: ${REQUEST_JSON}"
- fi
- shift
-
- if [[ "${REQUEST_JSON}" == "-" ]] ; then
- BUBBLE_QUIET=1 ${SCRIPT_DIR}/bubble put -U ${URL} ${@}
- else
- cat ${REQUEST_JSON} | BUBBLE_QUIET=1 ${SCRIPT_DIR}/bubble put -U ${URL} ${@}
- fi
|