Skip to content

Commit 52a34a8

Browse files
feat: Enable REST transport for most of Java and Go clients (googleapis#236)
- [ ] Regenerate this pull request now. PiperOrigin-RevId: 456641589 Source-Link: googleapis/googleapis@8a251f5 Source-Link: https://github.com/googleapis/googleapis-gen/commit/4ca52a529cf01308d9714950edffbea3560cfbdb Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNGNhNTJhNTI5Y2YwMTMwOGQ5NzE0OTUwZWRmZmJlYTM1NjBjZmJkYiJ9
1 parent f4722db commit 52a34a8

File tree

242 files changed

+19291
-35
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

242 files changed

+19291
-35
lines changed

java-domains/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ If you are using Maven, add this to your pom.xml file:
2727
If you are using Gradle without BOM, add this to your dependencies
2828

2929
```Groovy
30-
implementation 'com.google.cloud:google-cloud-domains:0.6.0'
30+
implementation 'com.google.cloud:google-cloud-domains:0.6.1'
3131
```
3232

3333
If you are using SBT, add this to your dependencies
3434

3535
```Scala
36-
libraryDependencies += "com.google.cloud" % "google-cloud-domains" % "0.6.0"
36+
libraryDependencies += "com.google.cloud" % "google-cloud-domains" % "0.6.1"
3737
```
3838

3939
## Authentication

java-domains/google-cloud-domains/pom.xml

+16
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@
6666
<groupId>com.google.api</groupId>
6767
<artifactId>gax-grpc</artifactId>
6868
</dependency>
69+
<dependency>
70+
<groupId>com.google.api</groupId>
71+
<artifactId>gax-httpjson</artifactId>
72+
</dependency>
6973
<dependency>
7074
<groupId>org.threeten</groupId>
7175
<artifactId>threetenbp</artifactId>
@@ -95,12 +99,24 @@
9599
<scope>test</scope>
96100
</dependency>
97101
<!-- Need testing utility classes for generated gRPC clients tests -->
102+
<dependency>
103+
<groupId>com.google.api</groupId>
104+
<artifactId>gax</artifactId>
105+
<classifier>testlib</classifier>
106+
<scope>test</scope>
107+
</dependency>
98108
<dependency>
99109
<groupId>com.google.api</groupId>
100110
<artifactId>gax-grpc</artifactId>
101111
<classifier>testlib</classifier>
102112
<scope>test</scope>
103113
</dependency>
114+
<dependency>
115+
<groupId>com.google.api</groupId>
116+
<artifactId>gax-httpjson</artifactId>
117+
<classifier>testlib</classifier>
118+
<scope>test</scope>
119+
</dependency>
104120
</dependencies>
105121

106122
<profiles>

java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1/DomainsClient.java

+32-5
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.google.api.core.ApiFuture;
2020
import com.google.api.core.ApiFutures;
2121
import com.google.api.gax.core.BackgroundResource;
22+
import com.google.api.gax.httpjson.longrunning.OperationsClient;
2223
import com.google.api.gax.longrunning.OperationFuture;
2324
import com.google.api.gax.paging.AbstractFixedSizeCollection;
2425
import com.google.api.gax.paging.AbstractPage;
@@ -30,7 +31,6 @@
3031
import com.google.cloud.domains.v1.stub.DomainsStubSettings;
3132
import com.google.common.util.concurrent.MoreExecutors;
3233
import com.google.longrunning.Operation;
33-
import com.google.longrunning.OperationsClient;
3434
import com.google.protobuf.Empty;
3535
import com.google.protobuf.FieldMask;
3636
import com.google.type.Money;
@@ -103,13 +103,28 @@
103103
* DomainsClient domainsClient = DomainsClient.create(domainsSettings);
104104
* }</pre>
105105
*
106+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
107+
* the wire:
108+
*
109+
* <pre>{@code
110+
* // This snippet has been automatically generated for illustrative purposes only.
111+
* // It may require modifications to work in your environment.
112+
* DomainsSettings domainsSettings =
113+
* DomainsSettings.newBuilder()
114+
* .setTransportChannelProvider(
115+
* DomainsSettings.defaultHttpJsonTransportProviderBuilder().build())
116+
* .build();
117+
* DomainsClient domainsClient = DomainsClient.create(domainsSettings);
118+
* }</pre>
119+
*
106120
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
107121
*/
108122
@Generated("by gapic-generator-java")
109123
public class DomainsClient implements BackgroundResource {
110124
private final DomainsSettings settings;
111125
private final DomainsStub stub;
112-
private final OperationsClient operationsClient;
126+
private final OperationsClient httpJsonOperationsClient;
127+
private final com.google.longrunning.OperationsClient operationsClient;
113128

114129
/** Constructs an instance of DomainsClient with default settings. */
115130
public static final DomainsClient create() throws IOException {
@@ -139,13 +154,17 @@ public static final DomainsClient create(DomainsStub stub) {
139154
protected DomainsClient(DomainsSettings settings) throws IOException {
140155
this.settings = settings;
141156
this.stub = ((DomainsStubSettings) settings.getStubSettings()).createStub();
142-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
157+
this.operationsClient =
158+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
159+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
143160
}
144161

145162
protected DomainsClient(DomainsStub stub) {
146163
this.settings = null;
147164
this.stub = stub;
148-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
165+
this.operationsClient =
166+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
167+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
149168
}
150169

151170
public final DomainsSettings getSettings() {
@@ -160,10 +179,18 @@ public DomainsStub getStub() {
160179
* Returns the OperationsClient that can be used to query the status of a long-running operation
161180
* returned by another API method call.
162181
*/
163-
public final OperationsClient getOperationsClient() {
182+
public final com.google.longrunning.OperationsClient getOperationsClient() {
164183
return operationsClient;
165184
}
166185

186+
/**
187+
* Returns the OperationsClient that can be used to query the status of a long-running operation
188+
* returned by another API method call.
189+
*/
190+
public final OperationsClient getHttpJsonOperationsClient() {
191+
return httpJsonOperationsClient;
192+
}
193+
167194
// AUTO-GENERATED DOCUMENTATION AND METHOD.
168195
/**
169196
* Searches for available domain names similar to the provided query.

java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1/DomainsSettings.java

+21-2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import com.google.api.gax.core.GoogleCredentialsProvider;
2424
import com.google.api.gax.core.InstantiatingExecutorProvider;
2525
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
26+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2627
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2728
import com.google.api.gax.rpc.ClientContext;
2829
import com.google.api.gax.rpc.ClientSettings;
@@ -228,11 +229,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
228229
return DomainsStubSettings.defaultCredentialsProviderBuilder();
229230
}
230231

231-
/** Returns a builder for the default ChannelProvider for this service. */
232+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
232233
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
233234
return DomainsStubSettings.defaultGrpcTransportProviderBuilder();
234235
}
235236

237+
/** Returns a builder for the default REST ChannelProvider for this service. */
238+
@BetaApi
239+
public static InstantiatingHttpJsonChannelProvider.Builder
240+
defaultHttpJsonTransportProviderBuilder() {
241+
return DomainsStubSettings.defaultHttpJsonTransportProviderBuilder();
242+
}
243+
236244
public static TransportChannelProvider defaultTransportChannelProvider() {
237245
return DomainsStubSettings.defaultTransportChannelProvider();
238246
}
@@ -242,11 +250,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
242250
return DomainsStubSettings.defaultApiClientHeaderProviderBuilder();
243251
}
244252

245-
/** Returns a new builder for this class. */
253+
/** Returns a new gRPC builder for this class. */
246254
public static Builder newBuilder() {
247255
return Builder.createDefault();
248256
}
249257

258+
/** Returns a new REST builder for this class. */
259+
@BetaApi
260+
public static Builder newHttpJsonBuilder() {
261+
return Builder.createHttpJsonDefault();
262+
}
263+
250264
/** Returns a new builder for this class. */
251265
public static Builder newBuilder(ClientContext clientContext) {
252266
return new Builder(clientContext);
@@ -284,6 +298,11 @@ private static Builder createDefault() {
284298
return new Builder(DomainsStubSettings.newBuilder());
285299
}
286300

301+
@BetaApi
302+
private static Builder createHttpJsonDefault() {
303+
return new Builder(DomainsStubSettings.newHttpJsonBuilder());
304+
}
305+
287306
public DomainsStubSettings.Builder getStubSettingsBuilder() {
288307
return ((DomainsStubSettings.Builder) getStubSettings());
289308
}

java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1/stub/DomainsStub.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,11 @@
5858
public abstract class DomainsStub implements BackgroundResource {
5959

6060
public OperationsStub getOperationsStub() {
61-
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
61+
return null;
62+
}
63+
64+
public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
65+
return null;
6266
}
6367

6468
public UnaryCallable<SearchDomainsRequest, SearchDomainsResponse> searchDomainsCallable() {

java-domains/google-cloud-domains/src/main/java/com/google/cloud/domains/v1/stub/DomainsStubSettings.java

+49-3
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
import com.google.api.gax.grpc.GrpcTransportChannel;
2929
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
3030
import com.google.api.gax.grpc.ProtoOperationTransformers;
31+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
32+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
33+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3134
import com.google.api.gax.longrunning.OperationSnapshot;
3235
import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
3336
import com.google.api.gax.retrying.RetrySettings;
@@ -360,6 +363,11 @@ public DomainsStub createStub() throws IOException {
360363
.equals(GrpcTransportChannel.getGrpcTransportName())) {
361364
return GrpcDomainsStub.create(this);
362365
}
366+
if (getTransportChannelProvider()
367+
.getTransportName()
368+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
369+
return HttpJsonDomainsStub.create(this);
370+
}
363371
throw new UnsupportedOperationException(
364372
String.format(
365373
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -392,29 +400,54 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
392400
.setUseJwtAccessWithScope(true);
393401
}
394402

395-
/** Returns a builder for the default ChannelProvider for this service. */
403+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
396404
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
397405
return InstantiatingGrpcChannelProvider.newBuilder()
398406
.setMaxInboundMessageSize(Integer.MAX_VALUE);
399407
}
400408

409+
/** Returns a builder for the default REST ChannelProvider for this service. */
410+
@BetaApi
411+
public static InstantiatingHttpJsonChannelProvider.Builder
412+
defaultHttpJsonTransportProviderBuilder() {
413+
return InstantiatingHttpJsonChannelProvider.newBuilder();
414+
}
415+
401416
public static TransportChannelProvider defaultTransportChannelProvider() {
402417
return defaultGrpcTransportProviderBuilder().build();
403418
}
404419

405420
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
406-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
421+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
407422
return ApiClientHeaderProvider.newBuilder()
408423
.setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(DomainsStubSettings.class))
409424
.setTransportToken(
410425
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
411426
}
412427

413-
/** Returns a new builder for this class. */
428+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
429+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
430+
return ApiClientHeaderProvider.newBuilder()
431+
.setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(DomainsStubSettings.class))
432+
.setTransportToken(
433+
GaxHttpJsonProperties.getHttpJsonTokenName(),
434+
GaxHttpJsonProperties.getHttpJsonVersion());
435+
}
436+
437+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
438+
return DomainsStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
439+
}
440+
441+
/** Returns a new gRPC builder for this class. */
414442
public static Builder newBuilder() {
415443
return Builder.createDefault();
416444
}
417445

446+
/** Returns a new REST builder for this class. */
447+
public static Builder newHttpJsonBuilder() {
448+
return Builder.createHttpJsonDefault();
449+
}
450+
418451
/** Returns a new builder for this class. */
419452
public static Builder newBuilder(ClientContext clientContext) {
420453
return new Builder(clientContext);
@@ -658,6 +691,19 @@ private static Builder createDefault() {
658691
return initDefaults(builder);
659692
}
660693

694+
private static Builder createHttpJsonDefault() {
695+
Builder builder = new Builder(((ClientContext) null));
696+
697+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
698+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
699+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
700+
builder.setEndpoint(getDefaultEndpoint());
701+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
702+
builder.setSwitchToMtlsEndpointAllowed(true);
703+
704+
return initDefaults(builder);
705+
}
706+
661707
private static Builder initDefaults(Builder builder) {
662708
builder
663709
.searchDomainsSettings()

0 commit comments

Comments
 (0)