2
0
jomo 4 жил өмнө
parent
commit
56765488e0
2 өөрчлөгдсөн 41 нэмэгдсэн , 22 устгасан
  1. 40 21
      test/bulk.sh
  2. 1 1
      test/uuids.txt

+ 40 - 21
test/bulk.sh

@@ -1,36 +1,55 @@
 #!/usr/bin/env bash
 
+hostname="crafatar.com"
 async="true"
+random="false"
 interval="0.1"
-if [ "$1" = "-s" ]; then
-  async=""
-  shift
-elif [ "$1" = "-i" ]; then
-  interval="$2"
-  shift 2
-fi
-host="$1"
-shift
-if [ -z "$host" ] || [ ! -z "$@" ]; then
-  echo "Usage: $0 [-s | -i <interval>] <host uri>"
+
+usage() {
+  echo "Usage: $0 [-s | -r | -i <interval> | -h <hostname>]... <host uri>" >&2
   exit 1
-fi
+}
 
-# insert newline after uuids
-ids="$(cat 'uuids.txt')"
-# `brew install coreutils` on OS X
-ids="$(shuf <<< "$ids" 2>/dev/null || gshuf <<< "$ids")"
+get_ids() {
+  local shuf
+  if [ "$random" = "true" ]; then
+    while true; do uuid -v 4; done
+  else
+    # `brew install coreutils` on OS X for gshuf
+    shuf=$(command -v shuf gshuf)
+    # randomize ids
+    $shuf < uuids.txt
+  fi
+}
 
 bulk() {
-  trap return INT
-  echo "$ids" | while read id; do
-    if [ -z "$async" ]; then
-      curl -sSL -o /dev/null -w "%{url_effective} %{http_code} %{time_total}s\\n" -- "$host/avatars/$id?overlay"
+  trap return INT # return from this function on Ctrl+C
+  get_ids | while read id; do
+    if [ "$async" = "false" ]; then
+      curl -H "Host: $hostname" -sSL -o /dev/null -w "%{url_effective} %{http_code} %{time_total}s\\n" -- "$host/avatars/$id?overlay"
     else
-      curl -sSL -o /dev/null -w "%{url_effective} %{http_code} %{time_total}s\\n" -- "$host/avatars/$id?overlay" &
+      curl -H "Host: $hostname" -sSL -o /dev/null -w "%{url_effective} %{http_code} %{time_total}s\\n" -- "$host/avatars/$id?overlay" &
       sleep "$interval"
     fi
   done
 }
 
+while [ $# != 0 ]; do
+  case "$1" in
+    -s)
+      async="false";;
+    -r)
+      random="true";;
+    -i)
+      interval="$2"
+      shift;;
+    *)
+      [ -n "$host" ] && usage
+      host="$1";;
+  esac
+  shift
+done
+
+[ -z "$host" ] && usage
+
 time bulk

+ 1 - 1
test/uuids.txt

@@ -4424,4 +4424,4 @@ ffdd082bf54e415b943a8713f2885913
 ffe0be5f0cab4b3785f67974c23660bb
 ffe3d4c861354928b932794d85a30567
 ffe72a222ac9463d81d3ee5eafb7f68e
-fff854a189644f12b92764fdb4573f8b
+fff854a189644f12b92764fdb4573f8b