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

Commit 069f36a

Browse files
feat: Enable REST transport for most of Java and Go clients (#640)
- [ ] 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 c475136 commit 069f36a

File tree

97 files changed

+7379
-24
lines changed

Some content is hidden

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

97 files changed

+7379
-24
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ implementation 'com.google.cloud:google-cloud-memcache'
5656
If you are using Gradle without BOM, add this to your dependencies
5757

5858
```Groovy
59-
implementation 'com.google.cloud:google-cloud-memcache:2.2.0'
59+
implementation 'com.google.cloud:google-cloud-memcache:2.2.1'
6060
```
6161

6262
If you are using SBT, add this to your dependencies
6363

6464
```Scala
65-
libraryDependencies += "com.google.cloud" % "google-cloud-memcache" % "2.2.0"
65+
libraryDependencies += "com.google.cloud" % "google-cloud-memcache" % "2.2.1"
6666
```
6767

6868
## Authentication

google-cloud-memcache/pom.xml

+16
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@
6161
<groupId>com.google.api</groupId>
6262
<artifactId>gax-grpc</artifactId>
6363
</dependency>
64+
<dependency>
65+
<groupId>com.google.api</groupId>
66+
<artifactId>gax-httpjson</artifactId>
67+
</dependency>
6468
<dependency>
6569
<groupId>org.threeten</groupId>
6670
<artifactId>threetenbp</artifactId>
@@ -83,12 +87,24 @@
8387
<scope>test</scope>
8488
</dependency>
8589
<!-- Need testing utility classes for generated gRPC clients tests -->
90+
<dependency>
91+
<groupId>com.google.api</groupId>
92+
<artifactId>gax</artifactId>
93+
<classifier>testlib</classifier>
94+
<scope>test</scope>
95+
</dependency>
8696
<dependency>
8797
<groupId>com.google.api</groupId>
8898
<artifactId>gax-grpc</artifactId>
8999
<classifier>testlib</classifier>
90100
<scope>test</scope>
91101
</dependency>
102+
<dependency>
103+
<groupId>com.google.api</groupId>
104+
<artifactId>gax-httpjson</artifactId>
105+
<classifier>testlib</classifier>
106+
<scope>test</scope>
107+
</dependency>
92108
</dependencies>
93109

94110
<profiles>

google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/CloudMemcacheClient.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.memcache.v1.stub.CloudMemcacheStubSettings;
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 java.io.IOException;
@@ -120,13 +120,28 @@
120120
* CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create(cloudMemcacheSettings);
121121
* }</pre>
122122
*
123+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
124+
* the wire:
125+
*
126+
* <pre>{@code
127+
* // This snippet has been automatically generated for illustrative purposes only.
128+
* // It may require modifications to work in your environment.
129+
* CloudMemcacheSettings cloudMemcacheSettings =
130+
* CloudMemcacheSettings.newBuilder()
131+
* .setTransportChannelProvider(
132+
* CloudMemcacheSettings.defaultHttpJsonTransportProviderBuilder().build())
133+
* .build();
134+
* CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create(cloudMemcacheSettings);
135+
* }</pre>
136+
*
123137
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
124138
*/
125139
@Generated("by gapic-generator-java")
126140
public class CloudMemcacheClient implements BackgroundResource {
127141
private final CloudMemcacheSettings settings;
128142
private final CloudMemcacheStub stub;
129-
private final OperationsClient operationsClient;
143+
private final OperationsClient httpJsonOperationsClient;
144+
private final com.google.longrunning.OperationsClient operationsClient;
130145

131146
/** Constructs an instance of CloudMemcacheClient with default settings. */
132147
public static final CloudMemcacheClient create() throws IOException {
@@ -158,13 +173,17 @@ public static final CloudMemcacheClient create(CloudMemcacheStub stub) {
158173
protected CloudMemcacheClient(CloudMemcacheSettings settings) throws IOException {
159174
this.settings = settings;
160175
this.stub = ((CloudMemcacheStubSettings) settings.getStubSettings()).createStub();
161-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
176+
this.operationsClient =
177+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
178+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
162179
}
163180

164181
protected CloudMemcacheClient(CloudMemcacheStub stub) {
165182
this.settings = null;
166183
this.stub = stub;
167-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
184+
this.operationsClient =
185+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
186+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
168187
}
169188

170189
public final CloudMemcacheSettings getSettings() {
@@ -179,10 +198,18 @@ public CloudMemcacheStub getStub() {
179198
* Returns the OperationsClient that can be used to query the status of a long-running operation
180199
* returned by another API method call.
181200
*/
182-
public final OperationsClient getOperationsClient() {
201+
public final com.google.longrunning.OperationsClient getOperationsClient() {
183202
return operationsClient;
184203
}
185204

205+
/**
206+
* Returns the OperationsClient that can be used to query the status of a long-running operation
207+
* returned by another API method call.
208+
*/
209+
public final OperationsClient getHttpJsonOperationsClient() {
210+
return httpJsonOperationsClient;
211+
}
212+
186213
// AUTO-GENERATED DOCUMENTATION AND METHOD.
187214
/**
188215
* Lists Instances in a given location.

google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/CloudMemcacheSettings.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;
@@ -164,11 +165,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
164165
return CloudMemcacheStubSettings.defaultCredentialsProviderBuilder();
165166
}
166167

167-
/** Returns a builder for the default ChannelProvider for this service. */
168+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
168169
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
169170
return CloudMemcacheStubSettings.defaultGrpcTransportProviderBuilder();
170171
}
171172

173+
/** Returns a builder for the default REST ChannelProvider for this service. */
174+
@BetaApi
175+
public static InstantiatingHttpJsonChannelProvider.Builder
176+
defaultHttpJsonTransportProviderBuilder() {
177+
return CloudMemcacheStubSettings.defaultHttpJsonTransportProviderBuilder();
178+
}
179+
172180
public static TransportChannelProvider defaultTransportChannelProvider() {
173181
return CloudMemcacheStubSettings.defaultTransportChannelProvider();
174182
}
@@ -178,11 +186,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
178186
return CloudMemcacheStubSettings.defaultApiClientHeaderProviderBuilder();
179187
}
180188

181-
/** Returns a new builder for this class. */
189+
/** Returns a new gRPC builder for this class. */
182190
public static Builder newBuilder() {
183191
return Builder.createDefault();
184192
}
185193

194+
/** Returns a new REST builder for this class. */
195+
@BetaApi
196+
public static Builder newHttpJsonBuilder() {
197+
return Builder.createHttpJsonDefault();
198+
}
199+
186200
/** Returns a new builder for this class. */
187201
public static Builder newBuilder(ClientContext clientContext) {
188202
return new Builder(clientContext);
@@ -220,6 +234,11 @@ private static Builder createDefault() {
220234
return new Builder(CloudMemcacheStubSettings.newBuilder());
221235
}
222236

237+
@BetaApi
238+
private static Builder createHttpJsonDefault() {
239+
return new Builder(CloudMemcacheStubSettings.newHttpJsonBuilder());
240+
}
241+
223242
public CloudMemcacheStubSettings.Builder getStubSettingsBuilder() {
224243
return ((CloudMemcacheStubSettings.Builder) getStubSettings());
225244
}

google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/CloudMemcacheStub.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,11 @@
4646
public abstract class CloudMemcacheStub implements BackgroundResource {
4747

4848
public OperationsStub getOperationsStub() {
49-
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
49+
return null;
50+
}
51+
52+
public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
53+
return null;
5054
}
5155

5256
public UnaryCallable<ListInstancesRequest, ListInstancesPagedResponse>

google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/CloudMemcacheStubSettings.java

+50-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;
@@ -250,6 +253,11 @@ public CloudMemcacheStub createStub() throws IOException {
250253
.equals(GrpcTransportChannel.getGrpcTransportName())) {
251254
return GrpcCloudMemcacheStub.create(this);
252255
}
256+
if (getTransportChannelProvider()
257+
.getTransportName()
258+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
259+
return HttpJsonCloudMemcacheStub.create(this);
260+
}
253261
throw new UnsupportedOperationException(
254262
String.format(
255263
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -282,30 +290,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
282290
.setUseJwtAccessWithScope(true);
283291
}
284292

285-
/** Returns a builder for the default ChannelProvider for this service. */
293+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
286294
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
287295
return InstantiatingGrpcChannelProvider.newBuilder()
288296
.setMaxInboundMessageSize(Integer.MAX_VALUE);
289297
}
290298

299+
/** Returns a builder for the default REST ChannelProvider for this service. */
300+
@BetaApi
301+
public static InstantiatingHttpJsonChannelProvider.Builder
302+
defaultHttpJsonTransportProviderBuilder() {
303+
return InstantiatingHttpJsonChannelProvider.newBuilder();
304+
}
305+
291306
public static TransportChannelProvider defaultTransportChannelProvider() {
292307
return defaultGrpcTransportProviderBuilder().build();
293308
}
294309

295310
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
296-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
311+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
297312
return ApiClientHeaderProvider.newBuilder()
298313
.setGeneratedLibToken(
299314
"gapic", GaxProperties.getLibraryVersion(CloudMemcacheStubSettings.class))
300315
.setTransportToken(
301316
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
302317
}
303318

304-
/** Returns a new builder for this class. */
319+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
320+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
321+
return ApiClientHeaderProvider.newBuilder()
322+
.setGeneratedLibToken(
323+
"gapic", GaxProperties.getLibraryVersion(CloudMemcacheStubSettings.class))
324+
.setTransportToken(
325+
GaxHttpJsonProperties.getHttpJsonTokenName(),
326+
GaxHttpJsonProperties.getHttpJsonVersion());
327+
}
328+
329+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
330+
return CloudMemcacheStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
331+
}
332+
333+
/** Returns a new gRPC builder for this class. */
305334
public static Builder newBuilder() {
306335
return Builder.createDefault();
307336
}
308337

338+
/** Returns a new REST builder for this class. */
339+
public static Builder newHttpJsonBuilder() {
340+
return Builder.createHttpJsonDefault();
341+
}
342+
309343
/** Returns a new builder for this class. */
310344
public static Builder newBuilder(ClientContext clientContext) {
311345
return new Builder(clientContext);
@@ -460,6 +494,19 @@ private static Builder createDefault() {
460494
return initDefaults(builder);
461495
}
462496

497+
private static Builder createHttpJsonDefault() {
498+
Builder builder = new Builder(((ClientContext) null));
499+
500+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
501+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
502+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
503+
builder.setEndpoint(getDefaultEndpoint());
504+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
505+
builder.setSwitchToMtlsEndpointAllowed(true);
506+
507+
return initDefaults(builder);
508+
}
509+
463510
private static Builder initDefaults(Builder builder) {
464511
builder
465512
.listInstancesSettings()

0 commit comments

Comments
 (0)