diff options
-rw-r--r-- | scripts/wm-request | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/scripts/wm-request b/scripts/wm-request new file mode 100644 index 0000000..55df3e4 --- /dev/null +++ b/scripts/wm-request @@ -0,0 +1,57 @@ +#/bin/sh + +if ! [ "$1" ] +then + echo "Usage: $0 VERB [ARGS]" >&2 + exit 1 +fi + +for i in uuidgen curl +do + which $i 2>/dev/null 1>&2 || { echo "Program $i is missing" >&2; exit 1; } +done + +set -eu + +if which python 2>/dev/null 1>&2 && echo '{ "test": "1" }' | python -m json.tool 2>/dev/null 1>&2 +then + if which pygmentize 2>/dev/null 1>&2 + then + json_pretty() { + python -m json.tool | pygmentize -l json + } + else + json_pretty() { + python -m json.tool + } + fi +else + json_pretty() { + cat + } +fi + +verb=$1 +shift + +args="" +for i in "$@" +do + args="$i" +done + +if [ "$args" ] +then + args="?$args" +fi + +UUIDFILE=/tmp/wm-request-uuid +if ! [ -f $UUIDFILE ] +then + uuidgen > $UUIDFILE +fi +UUID="`cat $UUIDFILE`" + +curl -H "x-afb-uuid: $UUID" -s http://localhost:1234/api/winman/${verb}${args} | json_pretty + +# vim:set ft=sh: |