update: add extension to Bash script.
This commit is contained in:
58
bin/upload-jmespath.sh
Executable file
58
bin/upload-jmespath.sh
Executable file
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
JMESPATH_PLAYGROUND_API_URL="${JMESPATH_PLAYGROUND_API_URL:-http://localhost:3000}" # May be set in bash profile
|
||||
JMESPATH_PLAYGROUND_API_KEY="${JMESPATH_PLAYGROUND_API_KEY:-}" # Required if not localhost
|
||||
|
||||
JSON_FILE="-"
|
||||
|
||||
function usage() {
|
||||
echo "Usage: $0 [--api-url <url>] [--json-file <file>]"
|
||||
echo
|
||||
echo "Options:"
|
||||
echo " --api-url <url> The base URL of the JMESPath Playground API (default: http://localhost:3000)"
|
||||
echo " --api-key <key> The API key for authentication (required if not localhost)"
|
||||
echo " --json-file <file> The JSON file to upload (default: stdin if not specified)"
|
||||
echo " -h, --help Show this help message and exit"
|
||||
echo
|
||||
echo "Environment Variables:"
|
||||
echo " JMESPATH_PLAYGROUND_API_URL Can be used to set the API URL"
|
||||
echo " JMESPATH_PLAYGROUND_API_KEY Can be used to set the API key"
|
||||
}
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--api-url)
|
||||
JMESPATH_PLAYGROUND_API_URL="$2"
|
||||
shift 2
|
||||
;;
|
||||
--api-key)
|
||||
JMESPATH_PLAYGROUND_API_KEY="$2"
|
||||
shift 2
|
||||
;;
|
||||
--json-file)
|
||||
JSON_FILE="$2"
|
||||
shift 2
|
||||
;;
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "ERROR: Unknown argument: $1"
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
ADD_HEADERS+=("-H" "X-API-Key: $JMESPATH_PLAYGROUND_API_KEY")
|
||||
|
||||
# Send the POST request
|
||||
curl -s -X POST \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Accept: application/json" \
|
||||
"${ADD_HEADERS[@]}" \
|
||||
--data @${JSON_FILE} \
|
||||
"$JMESPATH_PLAYGROUND_API_URL/api/v1/upload"
|
||||
Reference in New Issue
Block a user