// MakeThriftConcatEndpoint returns an endpoint that invokes the passed Thrift // client. Useful only in clients, and only until a proper // transport/thrift.Client exists. func MakeThriftConcatEndpoint(client *thriftadd.AddServiceClient) endpoint.Endpoint { return func(ctx context.Context, request interface{}) (interface{}, error) { req := request.(concatRequest) reply, err := client.Concat(req.A, req.B) return concatResponse{V: reply.Value, Err: err}, nil } }
// MakeThriftSumEndpoint returns an endpoint that invokes the passed Thrift client. // Useful only in clients, and only until a proper transport/thrift.Client exists. func MakeThriftSumEndpoint(client *thriftadd.AddServiceClient) endpoint.Endpoint { return func(ctx context.Context, request interface{}) (interface{}, error) { req := request.(sumRequest) reply, err := client.Sum(int64(req.A), int64(req.B)) if err == ErrIntOverflow { return nil, err // special case; see comment on ErrIntOverflow } return sumResponse{V: int(reply.Value), Err: err}, nil } }