actually use new handlers
This commit is contained in:
parent
38c21448cc
commit
fa019a4de2
7
api.go
7
api.go
@ -2,6 +2,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
@ -26,6 +27,7 @@ func NewAPI() *API {
|
|||||||
func (a *API) NewGame(res http.ResponseWriter, req *http.Request) {
|
func (a *API) NewGame(res http.ResponseWriter, req *http.Request) {
|
||||||
for i, g := range a.games {
|
for i, g := range a.games {
|
||||||
if !g.redPlayer.Ready {
|
if !g.redPlayer.Ready {
|
||||||
|
log.Println("red player somehow not ready")
|
||||||
g.redPlayer.Ready = true
|
g.redPlayer.Ready = true
|
||||||
if g.bluePlayer.Ready {
|
if g.bluePlayer.Ready {
|
||||||
g.simulator.Setup()
|
g.simulator.Setup()
|
||||||
@ -44,7 +46,9 @@ func (a *API) NewGame(res http.ResponseWriter, req *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
log.Printf("creating new game %v", a.nextInt)
|
||||||
a.games[a.nextInt] = NewSession()
|
a.games[a.nextInt] = NewSession()
|
||||||
|
a.games[a.nextInt].redPlayer.Ready = true
|
||||||
respondWithJSON(res, http.StatusOK, newGameResp{a.nextInt, "red"})
|
respondWithJSON(res, http.StatusOK, newGameResp{a.nextInt, "red"})
|
||||||
a.nextInt = a.nextInt + 1
|
a.nextInt = a.nextInt + 1
|
||||||
}
|
}
|
||||||
@ -60,7 +64,8 @@ func (a *API) GetGame(res http.ResponseWriter, req *http.Request) {
|
|||||||
var gr gameReq
|
var gr gameReq
|
||||||
decoder := json.NewDecoder(req.Body)
|
decoder := json.NewDecoder(req.Body)
|
||||||
if err := decoder.Decode(&gr); err != nil {
|
if err := decoder.Decode(&gr); err != nil {
|
||||||
respondWithError(res, http.StatusBadRequest, "Invalid resquest payload")
|
log.Println(err)
|
||||||
|
respondWithError(res, http.StatusBadRequest, "Invalid request payload")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer req.Body.Close()
|
defer req.Body.Close()
|
||||||
|
4
main.go
4
main.go
@ -14,8 +14,8 @@ func main() {
|
|||||||
router.HandleFunc("/game", api.NewGame).Methods("POST")
|
router.HandleFunc("/game", api.NewGame).Methods("POST")
|
||||||
router.HandleFunc("/game/{id}", api.GetGame).Methods("GET")
|
router.HandleFunc("/game/{id}", api.GetGame).Methods("GET")
|
||||||
router.HandleFunc("/game/{id}/status", api.GetGameStatus).Methods("GET")
|
router.HandleFunc("/game/{id}/status", api.GetGameStatus).Methods("GET")
|
||||||
router.HandleFunc("/game/{id}/move", nil).Methods("POST")
|
router.HandleFunc("/game/{id}/move", api.PostMove).Methods("POST")
|
||||||
router.HandleFunc("/game/{id}/move/{movenum}", nil).Methods("GET")
|
router.HandleFunc("/game/{id}/move/{movenum}", api.GetMove).Methods("GET")
|
||||||
log.Fatal(http.ListenAndServe(":1379", router))
|
log.Fatal(http.ListenAndServe(":1379", router))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user