|
25 | 25 | import com.google.api.gax.grpc.GrpcTransportChannel;
|
26 | 26 | import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
|
27 | 27 | import com.google.api.gax.grpc.ProtoOperationTransformers;
|
| 28 | +import com.google.api.gax.httpjson.GaxHttpJsonProperties; |
| 29 | +import com.google.api.gax.httpjson.HttpJsonTransportChannel; |
| 30 | +import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; |
28 | 31 | import com.google.api.gax.longrunning.OperationSnapshot;
|
29 | 32 | import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
|
30 | 33 | import com.google.api.gax.retrying.RetrySettings;
|
@@ -171,13 +174,17 @@ public UnaryCallSettings<RemovePublicKeyRequest, Operation> removePublicKeySetti
|
171 | 174 | return removePublicKeyOperationSettings;
|
172 | 175 | }
|
173 | 176 |
|
174 |
| - @BetaApi("A restructuring of stub classes is planned, so this may break in the future") |
175 | 177 | public CloudShellServiceStub createStub() throws IOException {
|
176 | 178 | if (getTransportChannelProvider()
|
177 | 179 | .getTransportName()
|
178 | 180 | .equals(GrpcTransportChannel.getGrpcTransportName())) {
|
179 | 181 | return GrpcCloudShellServiceStub.create(this);
|
180 | 182 | }
|
| 183 | + if (getTransportChannelProvider() |
| 184 | + .getTransportName() |
| 185 | + .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { |
| 186 | + return HttpJsonCloudShellServiceStub.create(this); |
| 187 | + } |
181 | 188 | throw new UnsupportedOperationException(
|
182 | 189 | String.format(
|
183 | 190 | "Transport not supported: %s", getTransportChannelProvider().getTransportName()));
|
@@ -210,30 +217,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
|
210 | 217 | .setUseJwtAccessWithScope(true);
|
211 | 218 | }
|
212 | 219 |
|
213 |
| - /** Returns a builder for the default ChannelProvider for this service. */ |
| 220 | + /** Returns a builder for the default gRPC ChannelProvider for this service. */ |
214 | 221 | public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
|
215 | 222 | return InstantiatingGrpcChannelProvider.newBuilder()
|
216 | 223 | .setMaxInboundMessageSize(Integer.MAX_VALUE);
|
217 | 224 | }
|
218 | 225 |
|
| 226 | + /** Returns a builder for the default REST ChannelProvider for this service. */ |
| 227 | + @BetaApi |
| 228 | + public static InstantiatingHttpJsonChannelProvider.Builder |
| 229 | + defaultHttpJsonTransportProviderBuilder() { |
| 230 | + return InstantiatingHttpJsonChannelProvider.newBuilder(); |
| 231 | + } |
| 232 | + |
219 | 233 | public static TransportChannelProvider defaultTransportChannelProvider() {
|
220 | 234 | return defaultGrpcTransportProviderBuilder().build();
|
221 | 235 | }
|
222 | 236 |
|
223 | 237 | @BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
|
224 |
| - public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { |
| 238 | + public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() { |
225 | 239 | return ApiClientHeaderProvider.newBuilder()
|
226 | 240 | .setGeneratedLibToken(
|
227 | 241 | "gapic", GaxProperties.getLibraryVersion(CloudShellServiceStubSettings.class))
|
228 | 242 | .setTransportToken(
|
229 | 243 | GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
|
230 | 244 | }
|
231 | 245 |
|
232 |
| - /** Returns a new builder for this class. */ |
| 246 | + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") |
| 247 | + public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() { |
| 248 | + return ApiClientHeaderProvider.newBuilder() |
| 249 | + .setGeneratedLibToken( |
| 250 | + "gapic", GaxProperties.getLibraryVersion(CloudShellServiceStubSettings.class)) |
| 251 | + .setTransportToken( |
| 252 | + GaxHttpJsonProperties.getHttpJsonTokenName(), |
| 253 | + GaxHttpJsonProperties.getHttpJsonVersion()); |
| 254 | + } |
| 255 | + |
| 256 | + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { |
| 257 | + return CloudShellServiceStubSettings.defaultGrpcApiClientHeaderProviderBuilder(); |
| 258 | + } |
| 259 | + |
| 260 | + /** Returns a new gRPC builder for this class. */ |
233 | 261 | public static Builder newBuilder() {
|
234 | 262 | return Builder.createDefault();
|
235 | 263 | }
|
236 | 264 |
|
| 265 | + /** Returns a new REST builder for this class. */ |
| 266 | + public static Builder newHttpJsonBuilder() { |
| 267 | + return Builder.createHttpJsonDefault(); |
| 268 | + } |
| 269 | + |
237 | 270 | /** Returns a new builder for this class. */
|
238 | 271 | public static Builder newBuilder(ClientContext clientContext) {
|
239 | 272 | return new Builder(clientContext);
|
@@ -389,6 +422,19 @@ private static Builder createDefault() {
|
389 | 422 | return initDefaults(builder);
|
390 | 423 | }
|
391 | 424 |
|
| 425 | + private static Builder createHttpJsonDefault() { |
| 426 | + Builder builder = new Builder(((ClientContext) null)); |
| 427 | + |
| 428 | + builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build()); |
| 429 | + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); |
| 430 | + builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build()); |
| 431 | + builder.setEndpoint(getDefaultEndpoint()); |
| 432 | + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); |
| 433 | + builder.setSwitchToMtlsEndpointAllowed(true); |
| 434 | + |
| 435 | + return initDefaults(builder); |
| 436 | + } |
| 437 | + |
392 | 438 | private static Builder initDefaults(Builder builder) {
|
393 | 439 | builder
|
394 | 440 | .getEnvironmentSettings()
|
|
0 commit comments