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

Commit 721617b

Browse files
authored
fix(lro): Add Operation name to headers in {Get,List}Operation requests [gax-java] (#1281)
* fix(lro): Add Operation name to get, list requests * fix: add name header to {Cancel,Delete}Operation
1 parent 5be66cd commit 721617b

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

gax-grpc/src/main/java/com/google/longrunning/stub/GrpcOperationsStub.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@
3737
import com.google.api.gax.grpc.GrpcCallSettings;
3838
import com.google.api.gax.grpc.GrpcStubCallableFactory;
3939
import com.google.api.gax.rpc.ClientContext;
40+
import com.google.api.gax.rpc.RequestParamsExtractor;
4041
import com.google.api.gax.rpc.UnaryCallable;
42+
import com.google.common.collect.ImmutableMap;
4143
import com.google.longrunning.CancelOperationRequest;
4244
import com.google.longrunning.DeleteOperationRequest;
4345
import com.google.longrunning.GetOperationRequest;
@@ -48,6 +50,7 @@
4850
import io.grpc.MethodDescriptor;
4951
import io.grpc.protobuf.ProtoUtils;
5052
import java.io.IOException;
53+
import java.util.Map;
5154
import java.util.concurrent.TimeUnit;
5255

5356
/**
@@ -146,19 +149,55 @@ protected GrpcOperationsStub(
146149
GrpcCallSettings<GetOperationRequest, Operation> getOperationTransportSettings =
147150
GrpcCallSettings.<GetOperationRequest, Operation>newBuilder()
148151
.setMethodDescriptor(getOperationMethodDescriptor)
152+
.setParamsExtractor(
153+
new RequestParamsExtractor<GetOperationRequest>() {
154+
@Override
155+
public Map<String, String> extract(GetOperationRequest request) {
156+
ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
157+
params.put("name", String.valueOf(request.getName()));
158+
return params.build();
159+
}
160+
})
149161
.build();
150162
GrpcCallSettings<ListOperationsRequest, ListOperationsResponse>
151163
listOperationsTransportSettings =
152164
GrpcCallSettings.<ListOperationsRequest, ListOperationsResponse>newBuilder()
153165
.setMethodDescriptor(listOperationsMethodDescriptor)
166+
.setParamsExtractor(
167+
new RequestParamsExtractor<ListOperationsRequest>() {
168+
@Override
169+
public Map<String, String> extract(ListOperationsRequest request) {
170+
ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
171+
params.put("name", String.valueOf(request.getName()));
172+
return params.build();
173+
}
174+
})
154175
.build();
155176
GrpcCallSettings<CancelOperationRequest, Empty> cancelOperationTransportSettings =
156177
GrpcCallSettings.<CancelOperationRequest, Empty>newBuilder()
157178
.setMethodDescriptor(cancelOperationMethodDescriptor)
179+
.setParamsExtractor(
180+
new RequestParamsExtractor<CancelOperationRequest>() {
181+
@Override
182+
public Map<String, String> extract(CancelOperationRequest request) {
183+
ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
184+
params.put("name", String.valueOf(request.getName()));
185+
return params.build();
186+
}
187+
})
158188
.build();
159189
GrpcCallSettings<DeleteOperationRequest, Empty> deleteOperationTransportSettings =
160190
GrpcCallSettings.<DeleteOperationRequest, Empty>newBuilder()
161191
.setMethodDescriptor(deleteOperationMethodDescriptor)
192+
.setParamsExtractor(
193+
new RequestParamsExtractor<DeleteOperationRequest>() {
194+
@Override
195+
public Map<String, String> extract(DeleteOperationRequest request) {
196+
ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
197+
params.put("name", String.valueOf(request.getName()));
198+
return params.build();
199+
}
200+
})
162201
.build();
163202

164203
this.getOperationCallable =

0 commit comments

Comments
 (0)