Commit 398b68fd authored by Kroese's avatar Kroese Committed by GitHub
Browse files

Trap handler

parent d6d955f3
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -eu

trap 'pkill -f nc || true' EXIT
trap exit SIGINT SIGTERM
stop() {
  trap - SIGINT EXIT
  { pkill -f nc || true } 2>/dev/null
}

trap 'stop' EXIT SIGINT SIGTERM SIGHUP

if [[ "$2" == "/"* ]]; then

  while true ; do
    nc -lp "${1:-5000}" -e "$2" >/dev/null 2>&1 & wait $!
    nc -lp "${1:-5000}" -e "$2" & wait $!
  done

else
@@ -19,7 +23,7 @@ else
  RESPONSE="HTTP/1.1 200 OK\nContent-Length: ${LENGTH}\nConnection: close\n\n$HTML\n\n"

  while true; do
    echo -en "$RESPONSE" | nc -lp "${1:-5000}" >/dev/null 2>&1 & wait $!
    echo -en "$RESPONSE" | nc -lp "${1:-5000}" & wait $!
  done

fi