summaryrefslogtreecommitdiff
path: root/.local/bin/serveit
blob: fb3f17de5855ba7ddc500cb901cc16ae6ccc21ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env bash
set -e
set -u
set -o pipefail

port='8000'
if [ $# -eq 1 ]; then
  port="$1"
fi

if hash php 2>/dev/null; then
  exec php -S "localhost:$port"
elif hash python3 2>/dev/null; then
  exec python3 -m http.server "$port"
elif hash python 2>/dev/null; then
  major_version="$(python -c 'import platform as p;print(p.python_version_tuple()[0])')"
  if [[ "$major_version" == '3' ]]; then
    exec python -m http.server "$port"
  else
    exec python -m SimpleHTTPServer "$port"
  fi
elif hash ruby 2>/dev/null; then
  exec ruby -run -e httpd . -p "$port"
else
  echo 'unable to start HTTP server' 1>&2
  exit 1
fi