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