Files
game-driver/internal/middleware/json.go
2024-11-01 17:40:34 +08:00

26 lines
484 B
Go

package middleware
import (
"encoding/json"
"game-driver/internal/schema"
"game-driver/leaf"
"log"
)
type JSONKey string
const PayloadJSONKey JSONKey = "payload_json"
// PayloadJSON 解析报文
func PayloadJSON() leaf.HandlerFunc {
return func(c *leaf.Context) {
pm := &schema.PlayModal{}
err := json.Unmarshal(c.Payload, pm)
if err != nil {
log.Panicf("报文解析错误: %v\n", err)
}
leaf.WithValue[*schema.PlayModal](c, PayloadJSONKey, pm)
c.Next()
}
}