Clean up session handlers

pull/16/head
Pancakes 3 months ago
parent 16340858bb
commit f6743743fa
No known key found for this signature in database
GPG Key ID: 5792877BFA27DC8F

@ -53,8 +53,8 @@ func Init(mux *http.ServeMux) error {
// savedata // savedata
mux.HandleFunc("POST /savedata/update", legacyHandleSaveData) // DEPRECATED: use PUT method mux.HandleFunc("POST /savedata/update", legacyHandleSaveData) // DEPRECATED: use PUT method
mux.HandleFunc("GET /savedata/delete", legacyHandleSaveData) // DEPRECATED: use DELETE method mux.HandleFunc("GET /savedata/delete", legacyHandleSaveData) // DEPRECATED: use DELETE method
mux.HandleFunc("POST /savedata/clear", legacyHandleSaveData) // TODO: use clearSessionData mux.HandleFunc("POST /savedata/clear", legacyHandleSaveData) // TODO: use clearSessionData
mux.HandleFunc("GET /savedata/newclear", legacyHandleNewClear) mux.HandleFunc("GET /savedata/newclear", legacyHandleNewClear)
// new session // new session

@ -153,13 +153,14 @@ func handleSession(w http.ResponseWriter, r *http.Request) {
return return
} }
var slot int slot, err := strconv.Atoi(r.URL.Query().Get("slot"))
if r.URL.Query().Has("slot") { if err != nil {
slot, err = strconv.Atoi(r.URL.Query().Get("slot")) httpError(w, r, err, http.StatusBadRequest)
if err != nil { return
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") { if !r.URL.Query().Has("clientSessionId") {

@ -1,21 +1,12 @@
package savedata package savedata
import ( import (
"fmt"
"github.com/pagefaultgames/rogueserver/db" "github.com/pagefaultgames/rogueserver/db"
"github.com/pagefaultgames/rogueserver/defs" "github.com/pagefaultgames/rogueserver/defs"
) )
func GetSession(uuid []byte, slot int) (defs.SessionSaveData, error) { func GetSession(uuid []byte, slot int) (defs.SessionSaveData, error) {
var session defs.SessionSaveData session, err := db.ReadSessionSaveData(uuid, slot)
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)
if err != nil { if err != nil {
return session, err 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 { 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) err := db.StoreSessionSaveData(uuid, data, slot)
if err != nil { if err != nil {
return err return err
@ -37,10 +24,6 @@ func PutSession(uuid []byte, slot int, data defs.SessionSaveData) error {
} }
func DeleteSession(uuid []byte, slot int) 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) err := db.DeleteSessionSaveData(uuid, slot)
if err != nil { if err != nil {
return err return err

Loading…
Cancel
Save