Skip to content
This repository has been archived by the owner on Sep 26, 2023. It is now read-only.

fix(lro): Add Operation name to headers in {Get,List}Operation requests [gax-java] #1281

Merged
merged 6 commits into from Feb 4, 2021
Expand Up @@ -37,7 +37,9 @@
import com.google.api.gax.grpc.GrpcCallSettings;
import com.google.api.gax.grpc.GrpcStubCallableFactory;
import com.google.api.gax.rpc.ClientContext;
import com.google.api.gax.rpc.RequestParamsExtractor;
import com.google.api.gax.rpc.UnaryCallable;
import com.google.common.collect.ImmutableMap;
import com.google.longrunning.CancelOperationRequest;
import com.google.longrunning.DeleteOperationRequest;
import com.google.longrunning.GetOperationRequest;
Expand All @@ -48,6 +50,7 @@
import io.grpc.MethodDescriptor;
import io.grpc.protobuf.ProtoUtils;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.annotation.Generated;

Expand Down Expand Up @@ -149,11 +152,29 @@ protected GrpcOperationsStub(
GrpcCallSettings<GetOperationRequest, Operation> getOperationTransportSettings =
GrpcCallSettings.<GetOperationRequest, Operation>newBuilder()
.setMethodDescriptor(getOperationMethodDescriptor)
.setParamsExtractor(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add it to all methods, not only to "get" ones (for completeness).

new RequestParamsExtractor<GetOperationRequest>() {
@Override
public Map<String, String> extract(GetOperationRequest request) {
ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
params.put("name", String.valueOf(request.getName()));
return params.build();
}
})
.build();
GrpcCallSettings<ListOperationsRequest, ListOperationsResponse>
listOperationsTransportSettings =
GrpcCallSettings.<ListOperationsRequest, ListOperationsResponse>newBuilder()
.setMethodDescriptor(listOperationsMethodDescriptor)
.setParamsExtractor(
new RequestParamsExtractor<ListOperationsRequest>() {
@Override
public Map<String, String> extract(ListOperationsRequest request) {
ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
params.put("name", String.valueOf(request.getName()));
return params.build();
}
})
.build();
GrpcCallSettings<CancelOperationRequest, Empty> cancelOperationTransportSettings =
GrpcCallSettings.<CancelOperationRequest, Empty>newBuilder()
Expand Down