Encode encodes the message instance to a JSON buffer object
(m Message)
| 113 | |
| 114 | // Encode encodes the message instance to a JSON buffer object |
| 115 | func Encode(m Message) ([]byte, error) { |
| 116 | obj := messageWrapper{ |
| 117 | Name: m.GetName(), |
| 118 | } |
| 119 | |
| 120 | switch v := m.(type) { |
| 121 | case *StartMonitor: |
| 122 | var b bytes.Buffer |
| 123 | encoder := json.NewEncoder(&b) |
| 124 | encoder.SetEscapeHTML(false) |
| 125 | if err := encoder.Encode(v); err != nil { |
| 126 | return nil, err |
| 127 | } |
| 128 | |
| 129 | obj.Data = b.Bytes() |
| 130 | case *StopMonitor: |
| 131 | case *ShutdownSensor: |
| 132 | default: |
| 133 | return nil, ErrUnknownMessage |
| 134 | } |
| 135 | |
| 136 | return json.Marshal(&obj) |
| 137 | } |
| 138 | |
| 139 | // Decode decodes JSON data into a message instance |
| 140 | func Decode(data []byte) (Message, error) { |
no test coverage detected