Skip to content

Commit 3660d63

Browse files
committed
feat(generator): fail resumable upload calls with gRPC transport or channel is customized
1 parent 85cef05 commit 3660d63

3 files changed

Lines changed: 238 additions & 286 deletions

File tree

‎java-showcase/gapic-showcase/src/main/java/com/google/showcase/v1beta1/stub/HttpJsonResumableUploadServiceResumableUploadStub.java‎

Lines changed: 29 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,19 @@
2525
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
2626
import com.google.api.gax.httpjson.HttpJsonCallSettings;
2727
import com.google.api.gax.httpjson.HttpJsonCallableFactory;
28-
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
2928
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3029
import com.google.api.gax.httpjson.ProtoMessageRequestFormatter;
3130
import com.google.api.gax.httpjson.ProtoMessageResponseParser;
3231
import com.google.api.gax.httpjson.ProtoRestSerializer;
3332
import com.google.api.gax.rpc.ApiClientHeaderProvider;
3433
import com.google.api.gax.rpc.ClientContext;
3534
import com.google.api.gax.rpc.ResumableUploadCallable;
35+
import com.google.api.gax.rpc.ResumableUploadTransportBridge;
3636
import com.google.protobuf.TypeRegistry;
3737
import com.google.showcase.v1beta1.UploadMediaRequest;
3838
import com.google.showcase.v1beta1.UploadMediaResponse;
3939
import java.io.IOException;
40+
import java.util.Collections;
4041
import java.util.HashMap;
4142
import java.util.List;
4243
import java.util.Map;
@@ -97,48 +98,42 @@ class HttpJsonResumableUploadServiceResumableUploadStub implements BackgroundRes
9798
uploadMediaCallable;
9899

99100
public static HttpJsonResumableUploadServiceResumableUploadStub create(
100-
ResumableUploadServiceStubSettings settings) throws IOException {
101-
if (settings
102-
.getTransportChannelProvider()
103-
.getTransportName()
104-
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
101+
ResumableUploadServiceStubSettings settings) {
102+
ClientContext clientContext;
103+
try {
104+
clientContext =
105+
ResumableUploadTransportBridge.createUploadClientContext(
106+
settings,
107+
InstantiatingHttpJsonChannelProvider.newBuilder().build(),
108+
ApiClientHeaderProvider.newBuilder()
109+
.setGeneratedLibToken(
110+
"gapic",
111+
GaxProperties.getLibraryVersion(ResumableUploadServiceStubSettings.class))
112+
.setTransportToken(
113+
GaxHttpJsonProperties.getHttpJsonTokenName(),
114+
GaxHttpJsonProperties.getHttpJsonVersion())
115+
.build());
116+
} catch (IOException e) {
105117
return new HttpJsonResumableUploadServiceResumableUploadStub(
106-
ClientContext.create(settings), settings);
118+
ResumableUploadTransportBridge.failingCallable(e),
119+
new BackgroundResourceAggregation(Collections.emptyList()));
107120
}
108-
return new HttpJsonResumableUploadServiceResumableUploadStub(
109-
deriveHttpJsonClientContext(settings), settings);
110-
}
111-
112-
private static ClientContext deriveHttpJsonClientContext(
113-
ResumableUploadServiceStubSettings settings) throws IOException {
114-
return ClientContext.create(
115-
settings.toBuilder()
116-
.setHttpJsonInternalHeaderProvider(
117-
ApiClientHeaderProvider.newBuilder()
118-
.setGeneratedLibToken(
119-
"gapic",
120-
GaxProperties.getLibraryVersion(ResumableUploadServiceStubSettings.class))
121-
.setTransportToken(
122-
GaxHttpJsonProperties.getHttpJsonTokenName(),
123-
GaxHttpJsonProperties.getHttpJsonVersion())
124-
.build())
125-
.setTransportChannelProvider(InstantiatingHttpJsonChannelProvider.newBuilder().build())
126-
.build());
127-
}
128-
129-
private HttpJsonResumableUploadServiceResumableUploadStub(
130-
ClientContext clientContext, ResumableUploadServiceStubSettings settings) {
131121
HttpJsonCallSettings<UploadMediaRequest, UploadMediaResponse> uploadMediaTransportSettings =
132122
HttpJsonCallSettings.<UploadMediaRequest, UploadMediaResponse>newBuilder()
133123
.setMethodDescriptor(uploadMediaMethodDescriptor)
134124
.setTypeRegistry(typeRegistry)
135125
.build();
136-
this.uploadMediaCallable =
126+
return new HttpJsonResumableUploadServiceResumableUploadStub(
137127
HttpJsonCallableFactory.createResumableUploadCallable(
138-
uploadMediaTransportSettings, settings.uploadMediaSettings(), clientContext);
128+
uploadMediaTransportSettings, settings.uploadMediaSettings(), clientContext),
129+
new BackgroundResourceAggregation(clientContext.getBackgroundResources()));
130+
}
139131

140-
this.backgroundResources =
141-
new BackgroundResourceAggregation(clientContext.getBackgroundResources());
132+
private HttpJsonResumableUploadServiceResumableUploadStub(
133+
ResumableUploadCallable<UploadMediaRequest, UploadMediaResponse> uploadMediaCallable,
134+
BackgroundResource backgroundResources) {
135+
this.uploadMediaCallable = uploadMediaCallable;
136+
this.backgroundResources = backgroundResources;
142137
}
143138

144139
public ResumableUploadCallable<UploadMediaRequest, UploadMediaResponse> uploadMediaCallable() {

0 commit comments

Comments
 (0)