summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/wm-request57
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: