1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package client
- import (
- "context"
- "github.com/longjoy/micro-go-course/section35/zipkin-kit/pb"
- "github.com/longjoy/micro-go-course/section35/zipkin-kit/string-service/endpoint"
- "github.com/pkg/errors"
- )
- func EncodeGRPCStringRequest(_ context.Context, r interface{}) (interface{}, error) {
- req := r.(endpoint.StringRequest)
- return &pb.StringRequest{
- RequestType: string(req.RequestType),
- A: string(req.A),
- B: string(req.B),
- }, nil
- }
- func DecodeGRPCStringRequest(ctx context.Context, r interface{}) (interface{}, error) {
- req := r.(*pb.StringRequest)
- return endpoint.StringRequest{
- RequestType: string(req.RequestType),
- A: string(req.A),
- B: string(req.B),
- }, nil
- }
- func EncodeGRPCStringResponse(_ context.Context, r interface{}) (interface{}, error) {
- resp := r.(endpoint.StringResponse)
- if resp.Error != nil {
- return &pb.StringResponse{
- Result: string(resp.Result),
- Err: resp.Error.Error(),
- }, nil
- }
- return &pb.StringResponse{
- Result: string(resp.Result),
- Err: "",
- }, nil
- }
- func DecodeGRPCStringResponse(_ context.Context, r interface{}) (interface{}, error) {
- resp := r.(*pb.StringResponse)
- return endpoint.StringResponse{
- Result: string(resp.Result),
- Error: errors.New(resp.Err),
- }, nil
- }
|