github.com/micro/go-micro/v2@v2.9.1/client/rpc_response.go (about) 1 package client 2 3 import ( 4 "github.com/micro/go-micro/v2/codec" 5 "github.com/micro/go-micro/v2/transport" 6 ) 7 8 type rpcResponse struct { 9 header map[string]string 10 body []byte 11 socket transport.Socket 12 codec codec.Codec 13 } 14 15 func (r *rpcResponse) Codec() codec.Reader { 16 return r.codec 17 } 18 19 func (r *rpcResponse) Header() map[string]string { 20 return r.header 21 } 22 23 func (r *rpcResponse) Read() ([]byte, error) { 24 var msg transport.Message 25 26 if err := r.socket.Recv(&msg); err != nil { 27 return nil, err 28 } 29 30 // set internals 31 r.header = msg.Header 32 r.body = msg.Body 33 34 return msg.Body, nil 35 }