Clean up session handlers

pull/16/head
Pancakes 5 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
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

@ -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

@ -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

Loading…
Cancel
Save