59 lines
1.6 KiB
Bash
Executable File
59 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
JMESPATH_PLAYGROUND_API_URL="http://localhost:3000" # May be set in bash profile
|
|
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} \
|
|
"$API_URL/api/v1/upload"
|