rogueserver/api/generic.go

64 lines
1.2 KiB
Go
Raw Normal View History

2023-12-05 13:28:08 -05:00
package api
import (
"net/http"
)
2023-12-29 14:30:47 -05:00
type Server struct {
Debug bool
}
func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
if s.Debug {
2023-12-29 14:34:58 -05:00
w.Header().Set("Access-Control-Allow-Headers", "*")
w.Header().Set("Access-Control-Allow-Methods", "*")
2023-12-29 14:33:11 -05:00
w.Header().Set("Access-Control-Allow-Origin", "*")
2023-12-29 14:30:47 -05:00
if r.Method == "OPTIONS" {
w.WriteHeader(http.StatusOK)
return
}
}
switch r.URL.Path {
case "/account/info":
2024-04-01 22:54:55 -04:00
s.handleAccountInfo(w, r)
2023-12-29 14:30:47 -05:00
case "/account/register":
2024-04-01 22:54:55 -04:00
s.handleAccountRegister(w, r)
2023-12-29 14:30:47 -05:00
case "/account/login":
2024-04-01 22:54:55 -04:00
s.handleAccountLogin(w, r)
2023-12-29 14:30:47 -05:00
case "/account/logout":
2024-04-01 22:54:55 -04:00
s.handleAccountLogout(w, r)
2023-12-29 14:30:47 -05:00
2024-03-23 21:34:18 -04:00
case "/game/playercount":
2024-04-01 22:54:55 -04:00
s.handlePlayerCountGet(w)
2024-03-23 21:34:18 -04:00
2023-12-29 14:30:47 -05:00
case "/savedata/get":
2024-04-01 22:54:55 -04:00
s.handleSavedataGet(w, r)
2023-12-29 14:30:47 -05:00
case "/savedata/update":
2024-04-01 22:54:55 -04:00
s.handleSavedataUpdate(w, r)
2023-12-29 14:30:47 -05:00
case "/savedata/delete":
2024-04-01 22:54:55 -04:00
s.handleSavedataDelete(w, r)
2024-03-16 21:51:13 -04:00
case "/savedata/clear":
2024-04-01 22:54:55 -04:00
s.handleSavedataClear(w, r)
2024-03-16 21:51:13 -04:00
case "/daily/seed":
2024-04-01 22:54:55 -04:00
s.handleSeed(w)
2024-03-17 13:18:51 -04:00
case "/daily/rankings":
2024-04-01 22:54:55 -04:00
s.handleRankings(w, r)
case "/daily/rankingpagecount":
2024-04-01 22:54:55 -04:00
s.handleRankingPageCount(w, r)
2023-12-29 14:30:47 -05:00
}
}
2023-12-05 13:28:08 -05:00
// auth
type GenericAuthRequest struct {
Username string `json:"username"`
Password string `json:"password"`
}
type GenericAuthResponse struct {
Token string `json:"token"`
}