about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--main.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..8f8d5ed
--- /dev/null
+++ b/main.go
@@ -0,0 +1,34 @@
+package main
+
+import (
+	"flag"
+	"fmt"
+	"log"
+	"math/rand"
+	"net/http"
+	"time"
+
+	"github.com/gorilla/mux"
+)
+
+func main() {
+
+	// register variables
+	var port = flag.Int("p", 8081, "port the http server listens on")
+	flag.Parse()
+
+	// http foo
+	r := mux.NewRouter()
+	r.HandleFunc("/{.*}", indexHandler)
+
+	log.Fatal(http.ListenAndServe(fmt.Sprintf(":%d", *port), r))
+}
+
+func indexHandler(w http.ResponseWriter, r *http.Request) {
+
+	// seed using a truly random value
+	rand.Seed(time.Now().UnixNano())
+
+	// return a random value in range 100 to 511
+	w.WriteHeader(rand.Intn(311) + 200)
+}