31 lines
599 B
Bash
Executable File
31 lines
599 B
Bash
Executable File
#! /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
|