grpc/rpcerror/grpc.go
func UnaryClientInterceptor(fn ConvertFunc) grpc.UnaryClientInterceptor {
	return func(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) (err error) {
		return fn(invoker(ctx, method, req, reply, cc, opts...))
	}
}
func UnaryClientInterceptor(fn ConvertFunc) grpc.UnaryClientInterceptor {
	return func(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) (err error) {
		return fn(invoker(ctx, method, req, reply, cc, opts...))
	}
}
// UnaryClientInterceptor applies fn to errors recieved by client.