Skip to content

Commit ad3e377

Browse files
feat: Enable REST transport for most of Java and Go clients (googleapis#900)
- [ ] 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 1595d9a commit ad3e377

File tree

143 files changed

+10107
-32
lines changed

Some content is hidden

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

143 files changed

+10107
-32
lines changed

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

+16
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@
6767
<groupId>com.google.api</groupId>
6868
<artifactId>gax-grpc</artifactId>
6969
</dependency>
70+
<dependency>
71+
<groupId>com.google.api</groupId>
72+
<artifactId>gax-httpjson</artifactId>
73+
</dependency>
7074
<dependency>
7175
<groupId>org.threeten</groupId>
7276
<artifactId>threetenbp</artifactId>
@@ -93,12 +97,24 @@
9397
<artifactId>grpc-google-cloud-speech-v1</artifactId>
9498
<scope>test</scope>
9599
</dependency>
100+
<dependency>
101+
<groupId>com.google.api</groupId>
102+
<artifactId>gax</artifactId>
103+
<classifier>testlib</classifier>
104+
<scope>test</scope>
105+
</dependency>
96106
<dependency>
97107
<groupId>com.google.api</groupId>
98108
<artifactId>gax-grpc</artifactId>
99109
<classifier>testlib</classifier>
100110
<scope>test</scope>
101111
</dependency>
112+
<dependency>
113+
<groupId>com.google.api</groupId>
114+
<artifactId>gax-httpjson</artifactId>
115+
<classifier>testlib</classifier>
116+
<scope>test</scope>
117+
</dependency>
102118
<dependency>
103119
<groupId>com.google.truth</groupId>
104120
<artifactId>truth</artifactId>

java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/AdaptationClient.java

+14
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,20 @@
100100
* AdaptationClient adaptationClient = AdaptationClient.create(adaptationSettings);
101101
* }</pre>
102102
*
103+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
104+
* the wire:
105+
*
106+
* <pre>{@code
107+
* // This snippet has been automatically generated for illustrative purposes only.
108+
* // It may require modifications to work in your environment.
109+
* AdaptationSettings adaptationSettings =
110+
* AdaptationSettings.newBuilder()
111+
* .setTransportChannelProvider(
112+
* AdaptationSettings.defaultHttpJsonTransportProviderBuilder().build())
113+
* .build();
114+
* AdaptationClient adaptationClient = AdaptationClient.create(adaptationSettings);
115+
* }</pre>
116+
*
103117
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
104118
*/
105119
@Generated("by gapic-generator-java")

java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/AdaptationSettings.java

+21-2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.google.api.gax.core.GoogleCredentialsProvider;
2525
import com.google.api.gax.core.InstantiatingExecutorProvider;
2626
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
27+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2728
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2829
import com.google.api.gax.rpc.ClientContext;
2930
import com.google.api.gax.rpc.ClientSettings;
@@ -149,11 +150,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
149150
return AdaptationStubSettings.defaultCredentialsProviderBuilder();
150151
}
151152

152-
/** Returns a builder for the default ChannelProvider for this service. */
153+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
153154
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
154155
return AdaptationStubSettings.defaultGrpcTransportProviderBuilder();
155156
}
156157

158+
/** Returns a builder for the default REST ChannelProvider for this service. */
159+
@BetaApi
160+
public static InstantiatingHttpJsonChannelProvider.Builder
161+
defaultHttpJsonTransportProviderBuilder() {
162+
return AdaptationStubSettings.defaultHttpJsonTransportProviderBuilder();
163+
}
164+
157165
public static TransportChannelProvider defaultTransportChannelProvider() {
158166
return AdaptationStubSettings.defaultTransportChannelProvider();
159167
}
@@ -163,11 +171,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
163171
return AdaptationStubSettings.defaultApiClientHeaderProviderBuilder();
164172
}
165173

166-
/** Returns a new builder for this class. */
174+
/** Returns a new gRPC builder for this class. */
167175
public static Builder newBuilder() {
168176
return Builder.createDefault();
169177
}
170178

179+
/** Returns a new REST builder for this class. */
180+
@BetaApi
181+
public static Builder newHttpJsonBuilder() {
182+
return Builder.createHttpJsonDefault();
183+
}
184+
171185
/** Returns a new builder for this class. */
172186
public static Builder newBuilder(ClientContext clientContext) {
173187
return new Builder(clientContext);
@@ -205,6 +219,11 @@ private static Builder createDefault() {
205219
return new Builder(AdaptationStubSettings.newBuilder());
206220
}
207221

222+
@BetaApi
223+
private static Builder createHttpJsonDefault() {
224+
return new Builder(AdaptationStubSettings.newHttpJsonBuilder());
225+
}
226+
208227
public AdaptationStubSettings.Builder getStubSettingsBuilder() {
209228
return ((AdaptationStubSettings.Builder) getStubSettings());
210229
}

java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/SpeechClient.java

+32-5
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717
package com.google.cloud.speech.v1;
1818

1919
import com.google.api.gax.core.BackgroundResource;
20+
import com.google.api.gax.httpjson.longrunning.OperationsClient;
2021
import com.google.api.gax.longrunning.OperationFuture;
2122
import com.google.api.gax.rpc.BidiStreamingCallable;
2223
import com.google.api.gax.rpc.OperationCallable;
2324
import com.google.api.gax.rpc.UnaryCallable;
2425
import com.google.cloud.speech.v1.stub.SpeechStub;
2526
import com.google.cloud.speech.v1.stub.SpeechStubSettings;
2627
import com.google.longrunning.Operation;
27-
import com.google.longrunning.OperationsClient;
2828
import java.io.IOException;
2929
import java.util.concurrent.TimeUnit;
3030
import javax.annotation.Generated;
@@ -93,13 +93,28 @@
9393
* SpeechClient speechClient = SpeechClient.create(speechSettings);
9494
* }</pre>
9595
*
96+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
97+
* the wire:
98+
*
99+
* <pre>{@code
100+
* // This snippet has been automatically generated for illustrative purposes only.
101+
* // It may require modifications to work in your environment.
102+
* SpeechSettings speechSettings =
103+
* SpeechSettings.newBuilder()
104+
* .setTransportChannelProvider(
105+
* SpeechSettings.defaultHttpJsonTransportProviderBuilder().build())
106+
* .build();
107+
* SpeechClient speechClient = SpeechClient.create(speechSettings);
108+
* }</pre>
109+
*
96110
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
97111
*/
98112
@Generated("by gapic-generator-java")
99113
public class SpeechClient implements BackgroundResource {
100114
private final SpeechSettings settings;
101115
private final SpeechStub stub;
102-
private final OperationsClient operationsClient;
116+
private final OperationsClient httpJsonOperationsClient;
117+
private final com.google.longrunning.OperationsClient operationsClient;
103118

104119
/** Constructs an instance of SpeechClient with default settings. */
105120
public static final SpeechClient create() throws IOException {
@@ -129,13 +144,17 @@ public static final SpeechClient create(SpeechStub stub) {
129144
protected SpeechClient(SpeechSettings settings) throws IOException {
130145
this.settings = settings;
131146
this.stub = ((SpeechStubSettings) settings.getStubSettings()).createStub();
132-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
147+
this.operationsClient =
148+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
149+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
133150
}
134151

135152
protected SpeechClient(SpeechStub stub) {
136153
this.settings = null;
137154
this.stub = stub;
138-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
155+
this.operationsClient =
156+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
157+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
139158
}
140159

141160
public final SpeechSettings getSettings() {
@@ -150,10 +169,18 @@ public SpeechStub getStub() {
150169
* Returns the OperationsClient that can be used to query the status of a long-running operation
151170
* returned by another API method call.
152171
*/
153-
public final OperationsClient getOperationsClient() {
172+
public final com.google.longrunning.OperationsClient getOperationsClient() {
154173
return operationsClient;
155174
}
156175

176+
/**
177+
* Returns the OperationsClient that can be used to query the status of a long-running operation
178+
* returned by another API method call.
179+
*/
180+
public final OperationsClient getHttpJsonOperationsClient() {
181+
return httpJsonOperationsClient;
182+
}
183+
157184
// AUTO-GENERATED DOCUMENTATION AND METHOD.
158185
/**
159186
* Performs synchronous speech recognition: receive results after all audio has been sent and

java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/SpeechSettings.java

+21-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.google.api.gax.core.GoogleCredentialsProvider;
2222
import com.google.api.gax.core.InstantiatingExecutorProvider;
2323
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
24+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2425
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2526
import com.google.api.gax.rpc.ClientContext;
2627
import com.google.api.gax.rpc.ClientSettings;
@@ -117,11 +118,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
117118
return SpeechStubSettings.defaultCredentialsProviderBuilder();
118119
}
119120

120-
/** Returns a builder for the default ChannelProvider for this service. */
121+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
121122
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
122123
return SpeechStubSettings.defaultGrpcTransportProviderBuilder();
123124
}
124125

126+
/** Returns a builder for the default REST ChannelProvider for this service. */
127+
@BetaApi
128+
public static InstantiatingHttpJsonChannelProvider.Builder
129+
defaultHttpJsonTransportProviderBuilder() {
130+
return SpeechStubSettings.defaultHttpJsonTransportProviderBuilder();
131+
}
132+
125133
public static TransportChannelProvider defaultTransportChannelProvider() {
126134
return SpeechStubSettings.defaultTransportChannelProvider();
127135
}
@@ -131,11 +139,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
131139
return SpeechStubSettings.defaultApiClientHeaderProviderBuilder();
132140
}
133141

134-
/** Returns a new builder for this class. */
142+
/** Returns a new gRPC builder for this class. */
135143
public static Builder newBuilder() {
136144
return Builder.createDefault();
137145
}
138146

147+
/** Returns a new REST builder for this class. */
148+
@BetaApi
149+
public static Builder newHttpJsonBuilder() {
150+
return Builder.createHttpJsonDefault();
151+
}
152+
139153
/** Returns a new builder for this class. */
140154
public static Builder newBuilder(ClientContext clientContext) {
141155
return new Builder(clientContext);
@@ -173,6 +187,11 @@ private static Builder createDefault() {
173187
return new Builder(SpeechStubSettings.newBuilder());
174188
}
175189

190+
@BetaApi
191+
private static Builder createHttpJsonDefault() {
192+
return new Builder(SpeechStubSettings.newHttpJsonBuilder());
193+
}
194+
176195
public SpeechStubSettings.Builder getStubSettingsBuilder() {
177196
return ((SpeechStubSettings.Builder) getStubSettings());
178197
}

java-speech/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/stub/AdaptationStubSettings.java

+50-3
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
import com.google.api.gax.grpc.GaxGrpcProperties;
2929
import com.google.api.gax.grpc.GrpcTransportChannel;
3030
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
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.retrying.RetrySettings;
3235
import com.google.api.gax.rpc.ApiCallContext;
3336
import com.google.api.gax.rpc.ApiClientHeaderProvider;
@@ -291,6 +294,11 @@ public AdaptationStub createStub() throws IOException {
291294
.equals(GrpcTransportChannel.getGrpcTransportName())) {
292295
return GrpcAdaptationStub.create(this);
293296
}
297+
if (getTransportChannelProvider()
298+
.getTransportName()
299+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
300+
return HttpJsonAdaptationStub.create(this);
301+
}
294302
throw new UnsupportedOperationException(
295303
String.format(
296304
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -323,30 +331,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
323331
.setUseJwtAccessWithScope(true);
324332
}
325333

326-
/** Returns a builder for the default ChannelProvider for this service. */
334+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
327335
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
328336
return InstantiatingGrpcChannelProvider.newBuilder()
329337
.setMaxInboundMessageSize(Integer.MAX_VALUE);
330338
}
331339

340+
/** Returns a builder for the default REST ChannelProvider for this service. */
341+
@BetaApi
342+
public static InstantiatingHttpJsonChannelProvider.Builder
343+
defaultHttpJsonTransportProviderBuilder() {
344+
return InstantiatingHttpJsonChannelProvider.newBuilder();
345+
}
346+
332347
public static TransportChannelProvider defaultTransportChannelProvider() {
333348
return defaultGrpcTransportProviderBuilder().build();
334349
}
335350

336351
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
337-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
352+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
338353
return ApiClientHeaderProvider.newBuilder()
339354
.setGeneratedLibToken(
340355
"gapic", GaxProperties.getLibraryVersion(AdaptationStubSettings.class))
341356
.setTransportToken(
342357
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
343358
}
344359

345-
/** Returns a new builder for this class. */
360+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
361+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
362+
return ApiClientHeaderProvider.newBuilder()
363+
.setGeneratedLibToken(
364+
"gapic", GaxProperties.getLibraryVersion(AdaptationStubSettings.class))
365+
.setTransportToken(
366+
GaxHttpJsonProperties.getHttpJsonTokenName(),
367+
GaxHttpJsonProperties.getHttpJsonVersion());
368+
}
369+
370+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
371+
return AdaptationStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
372+
}
373+
374+
/** Returns a new gRPC builder for this class. */
346375
public static Builder newBuilder() {
347376
return Builder.createDefault();
348377
}
349378

379+
/** Returns a new REST builder for this class. */
380+
public static Builder newHttpJsonBuilder() {
381+
return Builder.createHttpJsonDefault();
382+
}
383+
350384
/** Returns a new builder for this class. */
351385
public static Builder newBuilder(ClientContext clientContext) {
352386
return new Builder(clientContext);
@@ -489,6 +523,19 @@ private static Builder createDefault() {
489523
return initDefaults(builder);
490524
}
491525

526+
private static Builder createHttpJsonDefault() {
527+
Builder builder = new Builder(((ClientContext) null));
528+
529+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
530+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
531+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
532+
builder.setEndpoint(getDefaultEndpoint());
533+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
534+
builder.setSwitchToMtlsEndpointAllowed(true);
535+
536+
return initDefaults(builder);
537+
}
538+
492539
private static Builder initDefaults(Builder builder) {
493540
builder
494541
.createPhraseSetSettings()

0 commit comments

Comments
 (0)