package main import ( "battlecamp-go-server/board" "log" "net/http" "runtime" "github.com/julienschmidt/httprouter" ) func main() { runtime.GOMAXPROCS(runtime.NumCPU()) router := httprouter.New() router.GET("/", index) router.GET("/games/", gameListHandler) router.GET("/games/:id", gameHandler) router.PUT("/games", createGameHandler) router.PUT("/games/:rows/:cols", createGameHandler) router.POST("/games/:id/move/:playerId/:direction", moveHandler) // TODO: /games/{id}/players/{playerId} log.Fatal(http.ListenAndServe(":8080", router)) } func index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { w.Write([]byte("Go battlecamp!")) } func gameListHandler(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { http.Error(w, "Not implemented", http.StatusNotImplemented) } func gameHandler(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { http.Error(w, "Not implemented", http.StatusNotImplemented) } func createGameHandler(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { http.Error(w, "Not implemented", http.StatusNotImplemented) } func moveHandler(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { http.Error(w, "Not implemented", http.StatusNotImplemented) } func boardHandler(w http.ResponseWriter, req *http.Request) { b := board.New(56, 35) w.Header().Set("Content-Type", "text/plain;charset=utf-8") b.WriteJSON(w) }