diff --git a/query.sh b/query.sh new file mode 100755 index 0000000..51b0927 --- /dev/null +++ b/query.sh @@ -0,0 +1,30 @@ +#! /usr/bin/env bash + +set -o errtrace +set -o nounset +set -o pipefail +shopt -s inherit_errexit +trap 'echo $LINENO: "$BASH_COMMAND"; exit 1' ERR + +: "${DOMAIN:?specify domain name}" +readonly AUTH_HEADER="Authorization: Bearer ${API_TOKEN}" +QUERY="$1" + +REQUEST=$(cat << EOF +{ + "query": "$(echo $QUERY)", + "variables": null +} +EOF +) +readonly REQUEST + +if RESPONSE="$(curl --fail-with-body --show-error -s "https://api.$DOMAIN/graphql" \ +--compressed \ +-H 'Content-Type: application/json' \ +--data-raw "$REQUEST" -k -H "$AUTH_HEADER")" +then + jq --sort-keys <<<"$RESPONSE" +else + echo "$RESPONSE" +fi