package rest_handler import ( "bytes" "io" "gitea.elara.ws/Hazel/hangman/internal/game" "github.com/labstack/echo/v4" ) type ResponseData struct{ Session *game.Session User *game.User } func GetData(c echo.Context) (*game.Session, *game.User, error) { session, err := game.GetSession(c.Param("session")) if err != nil { return session, nil, err } sig := c.Request().Header.Get("signature") body, _ := io.ReadAll(c.Request().Body) user, err := session.VerifySignature(sig, body) if err != nil { return session, user, err } c.Request().Body = io.NopCloser(bytes.NewBuffer(body)) // fmt.Printf("user %v:\t%p\n", user.Name, user) return session, user, nil }