Commit 7b8f51c

Richard Luby <richluby@gmail.com>
2016-10-27 15:37:42
added handler file for server
handles for different request types can be contained in one location
1 parent 4c90bc8
Changed files (1)
serverHandlers.go
@@ -0,0 +1,27 @@
+package main
+
+import (
+	"encoding/json"
+	"log"
+	"math/rand"
+	"net/http"
+	"strconv"
+)
+
+// HandleConnections processes client connections
+func handleRecordRequests(writer http.ResponseWriter, request *http.Request) {
+	log.Printf("Client Connected: %+v\tvia %+v", request.RemoteAddr, request.UserAgent())
+	var giveRecords []Record
+	var err error
+	questions := request.FormValue("questions")
+	numQuestions, err := strconv.Atoi(questions)
+	for i := 0; i < numQuestions; i += 1 {
+		giveRecords = append(giveRecords, records[rand.Intn(len(records))])
+	}
+	data, err := json.Marshal(giveRecords)
+	if err != nil {
+		log.Printf("Error building questions: %+v", err)
+	}
+	writer.Write(data)
+	log.Printf("Gave %d questions to %s", numQuestions, request.RemoteAddr)
+}