#!/usr/bin/env bash # Probes the two session clocks of a LIVE tmplatformd. # Requires the daemon started with short TTLs, e.g. TM_PLATFORM_SESSION_IDLE=8s TM_PLATFORM_SESSION_MAX_AGE=20s # Usage: session-clocks-probe.sh set -u BASE=${1:-http://127.0.0.1:8102} NAME=${2:-__Host-tm_session} DUR=${3:-30} STEP=${4:-2} JAR=$(mktemp) TOK=$(curl -s --noproxy '*' -i -X POST "$BASE/auth/dev-login" | awk -v n="$NAME" 'BEGIN{IGNORECASE=0} /^Set-Cookie:/ {print}' | sed -n "s/^Set-Cookie: ${NAME}=\([^;]*\).*/\1/p") echo "token=${TOK:0:12}... (len ${#TOK})" START=$(date +%s) while :; do NOW=$(date +%s); EL=$((NOW-START)) [ "$EL" -gt "$DUR" ] && break OUT=$(curl -s --noproxy '*' -i -H "Cookie: ${NAME}=${TOK}" "$BASE/v0/books") CODE=$(printf '%s' "$OUT" | head -1) SC=$(printf '%s' "$OUT" | sed -n 's/^Set-Cookie: //p') echo "t+${EL}s ${CODE} set-cookie=[${SC}]" sleep "$STEP" done rm -f "$JAR"