#!/usr/bin/env bash

# Usage: ./wait_for_port.sh url [max_retries] [wait_time]

LOCAL_COUNTER=0
MAX_RETRIES="${2:-60}"
WAIT_TIME="${3:-2}"

RESPONSE_CODE=$(curl -L -s -o /dev/null -k -w '%{http_code}' "$1")
while [[ $RESPONSE_CODE != "200" ]]
do
  if [[ $LOCAL_COUNTER -ge $MAX_RETRIES ]]; then
    echo "Timeout"
    exit 1
  fi
  if [[ $LOCAL_COUNTER -ne 0 ]]; then
    sleep "$WAIT_TIME"
  fi
  RESPONSE_CODE=$(curl -L -s -o /dev/null -k -w '%{http_code}' "$1")
  ((LOCAL_COUNTER++))
done
exit 0
