#!/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 ] [--json-file ]" echo echo "Options:" echo " --api-url The base URL of the JMESPath Playground API (default: http://localhost:3000)" echo " --api-key The API key for authentication (required if not localhost)" echo " --json-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"