Commit 3fd8301
Changed files (2)
questioner.go
@@ -68,7 +68,10 @@ func loadServerConfiguration(cfgFile string) CONFIG {
// Listen binds the listening server and starts the listening loop
// serverConfig : contains the configuration to be used
func Listen(serverConfig CONFIG) {
- http.HandleFunc("/record", handleRecordRequests)
+ // register the server handlers
+ for _, handler := range handlers {
+ http.HandleFunc(handler.Request, handler.HandleFunction)
+ }
log.Fatal(http.ListenAndServe(
serverConfig.LISTEN_ADDRESS+":"+
strconv.Itoa(serverConfig.LISTEN_PORT),
serverHandlers.go
@@ -8,6 +8,11 @@ import (
"strconv"
)
+type ServerHandler struct {
+ Request string
+ HandleFunction func(writer http.ResponseWriter, request *http.Request)
+}
+
// HandleConnections processes client connections
func handleRecordRequests(writer http.ResponseWriter, request *http.Request) {
log.Printf("Client Connected: %+v\tvia %+v", request.RemoteAddr, request.UserAgent())
@@ -25,3 +30,8 @@ func handleRecordRequests(writer http.ResponseWriter, request *http.Request) {
writer.Write(data)
log.Printf("Gave %d questions to %s", numQuestions, request.RemoteAddr)
}
+
+var handlers = []ServerHandler{
+ ServerHandler{
+ Request: "/record",
+ HandleFunction: handleRecordRequests}}