40 lines
770 B
Go
40 lines
770 B
Go
package networking
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
)
|
|
|
|
type cctweakedMessage struct {
|
|
Content string `json:"content"`
|
|
Msg_type int `json:"msg_type"`
|
|
}
|
|
|
|
func createMessage(messageContent string, messageType int) cctweakedMessage {
|
|
return cctweakedMessage{
|
|
messageContent,
|
|
messageType,
|
|
}
|
|
}
|
|
|
|
func DecodeJson(jsonBody []byte) cctweakedMessage {
|
|
var message cctweakedMessage
|
|
|
|
err := json.Unmarshal(jsonBody, &message)
|
|
if err != nil {
|
|
fmt.Printf("Failed to decode json from body %v\n", err)
|
|
}
|
|
|
|
return message
|
|
}
|
|
|
|
func EncodeJson(messageContent string, messageType int) []byte {
|
|
msg := createMessage(messageContent, messageType)
|
|
json, err := json.Marshal(msg)
|
|
if err != nil {
|
|
fmt.Printf("Failed to encode message in json: %v\n", err)
|
|
}
|
|
|
|
return json
|
|
}
|