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