From f6743743fa393e242272b6f767f9430e9b93fa2b Mon Sep 17 00:00:00 2001 From: Pancakes Date: Fri, 7 Jun 2024 22:38:24 -0400 Subject: [PATCH] Clean up session handlers --- api/common.go | 4 ++-- api/endpoints.go | 25 +++++++++++++------------ api/savedata/session.go | 19 +------------------ 3 files changed, 16 insertions(+), 32 deletions(-) diff --git a/api/common.go b/api/common.go index d67f0bf..7c7094d 100644 --- a/api/common.go +++ b/api/common.go @@ -53,8 +53,8 @@ func Init(mux *http.ServeMux) error { // savedata mux.HandleFunc("POST /savedata/update", legacyHandleSaveData) // DEPRECATED: use PUT method - mux.HandleFunc("GET /savedata/delete", legacyHandleSaveData) // DEPRECATED: use DELETE method - mux.HandleFunc("POST /savedata/clear", legacyHandleSaveData) // TODO: use clearSessionData + mux.HandleFunc("GET /savedata/delete", legacyHandleSaveData) // DEPRECATED: use DELETE method + mux.HandleFunc("POST /savedata/clear", legacyHandleSaveData) // TODO: use clearSessionData mux.HandleFunc("GET /savedata/newclear", legacyHandleNewClear) // new session diff --git a/api/endpoints.go b/api/endpoints.go index a4aa8fa..3894067 100644 --- a/api/endpoints.go +++ b/api/endpoints.go @@ -153,13 +153,14 @@ func handleSession(w http.ResponseWriter, r *http.Request) { return } - var slot int - if r.URL.Query().Has("slot") { - slot, err = strconv.Atoi(r.URL.Query().Get("slot")) - if err != nil { - httpError(w, r, err, http.StatusBadRequest) - return - } + slot, err := strconv.Atoi(r.URL.Query().Get("slot")) + if err != nil { + httpError(w, r, err, http.StatusBadRequest) + return + } + + if slot < 0 || slot >= defs.SessionSlotCount { + httpError(w, r, fmt.Errorf("slot id %d out of range", slot), http.StatusBadRequest) } if !r.URL.Query().Has("clientSessionId") { @@ -180,12 +181,12 @@ func handleSession(w http.ResponseWriter, r *http.Request) { http.Error(w, err.Error(), http.StatusNotFound) return } - + if err != nil { httpError(w, r, err, http.StatusInternalServerError) return } - + writeJSON(w, r, save) case "PUT": var session defs.SessionSaveData @@ -606,12 +607,12 @@ func handleSystem(w http.ResponseWriter, r *http.Request) { } else { httpError(w, r, err, http.StatusInternalServerError) } - + return } - + // TODO: apply vouchers - + writeJSON(w, r, save) case "PUT": var system defs.SystemSaveData diff --git a/api/savedata/session.go b/api/savedata/session.go index ae91c5b..97cc5d5 100644 --- a/api/savedata/session.go +++ b/api/savedata/session.go @@ -1,21 +1,12 @@ package savedata import ( - "fmt" - "github.com/pagefaultgames/rogueserver/db" "github.com/pagefaultgames/rogueserver/defs" ) func GetSession(uuid []byte, slot int) (defs.SessionSaveData, error) { - var session defs.SessionSaveData - - if slot < 0 || slot >= defs.SessionSlotCount { - return session, fmt.Errorf("slot id %d out of range", slot) - } - - var err error - session, err = db.ReadSessionSaveData(uuid, slot) + session, err := db.ReadSessionSaveData(uuid, slot) if err != nil { return session, err } @@ -24,10 +15,6 @@ func GetSession(uuid []byte, slot int) (defs.SessionSaveData, error) { } func PutSession(uuid []byte, slot int, data defs.SessionSaveData) error { - if slot < 0 || slot >= defs.SessionSlotCount { - return fmt.Errorf("slot id %d out of range", slot) - } - err := db.StoreSessionSaveData(uuid, data, slot) if err != nil { return err @@ -37,10 +24,6 @@ func PutSession(uuid []byte, slot int, data defs.SessionSaveData) error { } func DeleteSession(uuid []byte, slot int) error { - if slot < 0 || slot >= defs.SessionSlotCount { - return fmt.Errorf("slot id %d out of range", slot) - } - err := db.DeleteSessionSaveData(uuid, slot) if err != nil { return err