package client import ( "github.com/micro/go-micro/v2/codec" ) type rpcRequest struct { service string method string endpoint string contentType string codec codec.Codec body interface{} opts RequestOptions } func newRequest(service, endpoint string, request interface{}, contentType string, reqOpts ...RequestOption) Request { var opts RequestOptions for _, o := range reqOpts { o(&opts) } // set the content-type specified if len(opts.ContentType) > 0 { contentType = opts.ContentType } return &rpcRequest{ service: service, method: endpoint, endpoint: endpoint, body: request, contentType: contentType, opts: opts, } } func (r *rpcRequest) ContentType() string { return r.contentType } func (r *rpcRequest) Service() string { return r.service } func (r *rpcRequest) Method() string { return r.method } func (r *rpcRequest) Endpoint() string { return r.endpoint } func (r *rpcRequest) Body() interface{} { return r.body } func (r *rpcRequest) Codec() codec.Writer { return r.codec } func (r *rpcRequest) Stream() bool { return r.opts.Stream }