github.com/tickoalcantara12/micro/v3@v3.0.0-20221007104245-9d75b9bcbab9/util/codec/proto/message.go (about) 1 // Licensed under the Apache License, Version 2.0 (the "License"); 2 // you may not use this file except in compliance with the License. 3 // You may obtain a copy of the License at 4 // 5 // https://www.apache.org/licenses/LICENSE-2.0 6 // 7 // Unless required by applicable law or agreed to in writing, software 8 // distributed under the License is distributed on an "AS IS" BASIS, 9 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 // See the License for the specific language governing permissions and 11 // limitations under the License. 12 // 13 // Original source: github.com/micro/go-micro/v3/codec/proto/message.go 14 15 package proto 16 17 type Message struct { 18 Data []byte 19 } 20 21 func (m *Message) MarshalJSON() ([]byte, error) { 22 return m.Data, nil 23 } 24 25 func (m *Message) UnmarshalJSON(data []byte) error { 26 m.Data = data 27 return nil 28 } 29 30 func (m *Message) ProtoMessage() {} 31 32 func (m *Message) Reset() { 33 *m = Message{} 34 } 35 36 func (m *Message) String() string { 37 return string(m.Data) 38 } 39 40 func (m *Message) Marshal() ([]byte, error) { 41 return m.Data, nil 42 } 43 44 func (m *Message) Unmarshal(data []byte) error { 45 m.Data = data 46 return nil 47 } 48 49 func NewMessage(data []byte) *Message { 50 return &Message{data} 51 }