#!/bin/bash

pinggy_args=()
upload_args=()

while getopts "a:p:t" opt; do
  case $opt in
  a)
    upload_args+=("--basic-auth" "$OPTARG")
    ;;
  p)
    pinggy_args+=("-p" "443" "-R0:localhost:$OPTARG")
    upload_args+=("$OPTARG")
    ;;
  esac
done

if [ -n "$PINGGY_TOKEN" ]; then
  pinggy_args+=("--token" "$PINGGY_TOKEN")
fi

pipx run uploadserver "$upload_args" &
pid1=$!

pinggy "${pinggy_args[@]}" &
pid2=$!

trap "kill $pid1 $pid2 2>/dev/null" EXIT

wait
