@Override
        public void onComplete() {
            if (completed) {
                return;
            }
            completed = true;
            if (trailers == null) {
                trailers = response.trailers();
            }
            GrpcWebTrailers.set(ctx, trailers);
            responseFuture.complete(HttpResponse.of(response.headers(), content, trailers));
        }
Executes a unary gRPC client request. The given {@code payload} will be framed and sent to the path at
{@code uri}. {@code uri} should be the method's URI, which is always of the format
{@code /:package-name.:service-name/:method}. For example, for the proto package
{@code armeria.protocol}, the service name {@code CoolService} and the method name
{@code RunWithoutStubs}, the {@code uri} would be {@code /armeria.protocol.CoolService/RunWithoutStubs}.
If you aren't sure what the package, service name, and method name are for your method, you should
probably use normal gRPC stubs instead of this class.
grpc-protocol/src/main/java/com/linecorp/armeria/client/grpc/protocol/UnaryGrpcClient.java