mirror of https://github.com/schollz/croc.git
allow sending
This commit is contained in:
parent
9223fc79e9
commit
662bce58a3
|
@ -5,8 +5,10 @@ import (
|
||||||
|
|
||||||
"github.com/schollz/croc/v6/src/compress"
|
"github.com/schollz/croc/v6/src/compress"
|
||||||
"github.com/schollz/croc/v6/src/crypt"
|
"github.com/schollz/croc/v6/src/crypt"
|
||||||
|
"github.com/schollz/croc/v6/src/comm"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Message is the possible payload for messaging
|
||||||
type Message struct {
|
type Message struct {
|
||||||
Type string `json:"t,omitempty"`
|
Type string `json:"t,omitempty"`
|
||||||
Message string `json:"m,omitempty"`
|
Message string `json:"m,omitempty"`
|
||||||
|
@ -14,6 +16,22 @@ type Message struct {
|
||||||
Num int `json:"n,omitempty"`
|
Num int `json:"n,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m Message) String() string {
|
||||||
|
b, _ := json.Marshal(m)
|
||||||
|
return string(b)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send will send out
|
||||||
|
func Send(c *comm.Comm, m Message) (err error) {
|
||||||
|
mSend, err := Encode(m)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, err = c.Write(mSend)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Encode will convert to bytes
|
||||||
func Encode(m Message, e ...crypt.Encryption) (b []byte, err error) {
|
func Encode(m Message, e ...crypt.Encryption) (b []byte, err error) {
|
||||||
b, err = json.Marshal(m)
|
b, err = json.Marshal(m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -27,6 +45,7 @@ func Encode(m Message, e ...crypt.Encryption) (b []byte, err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Decode will convert from bytes
|
||||||
func Decode(b []byte, e ...crypt.Encryption) (m Message, err error) {
|
func Decode(b []byte, e ...crypt.Encryption) (m Message, err error) {
|
||||||
if len(e) > 0 {
|
if len(e) > 0 {
|
||||||
b, err = e[0].Decrypt(b)
|
b, err = e[0].Decrypt(b)
|
||||||
|
|
Loading…
Reference in New Issue