代码拉取完成,页面将自动刷新
package saMicro
import (
"context"
"errors"
"gitee.com/saxon134/go-utils/saMicro/proto"
)
type Service interface {
Api(ctx context.Context, in *proto.Request) (ack *proto.Response, err error) //RPC服务接口方法
}
type baseServer struct {
}
func NewService() Service {
var server Service
server = &baseServer{}
return server
}
// Api
// @Description: client发起RPC接口请求,对外提供的服务
func (s baseServer) Api(ctx context.Context, in *proto.Request) (ack *proto.Response, err error) {
if in == nil || in.Method == "" {
err = errors.New("method is empty")
return
}
for k, v := range _handlers {
if k == in.Method {
var out = new(Response)
out, err = v(ctx, &Request{Method: in.Method, Data: in.Data})
if err == nil {
ack = &proto.Response{Data: out.Data}
}
return
}
}
err = errors.New("no such handler")
return
}
// Call client发起请求方法,由RPC内部调用,不对外服务
func (s baseServer) Call(ctx context.Context, in *Request) (ack *Response, err error) {
var out *proto.Response
out, err = s.Api(ctx, &proto.Request{Method: in.Method, Data: in.Data})
if err != nil {
return
}
ack = &Response{Data: out.Data}
return
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。