Skip to content

Commit ccd4d8c

Browse files
feat: Enable REST transport for most of Java and Go clients (#190)
- [ ] 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 chore(deps): upgrade gapic-generator-java to 2.8.0 and update gax-java to 2.18.1 PiperOrigin-RevId: 450543911 Source-Link: googleapis/googleapis@5528344 Source-Link: https://github.com/googleapis/googleapis-gen/commit/9f6775cab1958982b88967a43e5e806af0f135db Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOWY2Nzc1Y2FiMTk1ODk4MmI4ODk2N2E0M2U1ZTgwNmFmMGYxMzVkYiJ9 chore: remove unused imports PiperOrigin-RevId: 450440454 Source-Link: googleapis/googleapis@a7222a7 Source-Link: https://github.com/googleapis/googleapis-gen/commit/c242c555f369c613a2242108b2c11776e22bb7e9 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYzI0MmM1NTVmMzY5YzYxM2EyMjQyMTA4YjJjMTE3NzZlMjJiYjdlOSJ9
1 parent ea3c227 commit ccd4d8c

20 files changed

+1765
-99
lines changed

java-debugger-client/google-cloud-debugger-client/pom.xml

+16
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@
5858
<groupId>com.google.api</groupId>
5959
<artifactId>gax-grpc</artifactId>
6060
</dependency>
61+
<dependency>
62+
<groupId>com.google.api</groupId>
63+
<artifactId>gax-httpjson</artifactId>
64+
</dependency>
6165
<dependency>
6266
<groupId>org.threeten</groupId>
6367
<artifactId>threetenbp</artifactId>
@@ -77,12 +81,24 @@
7781
<scope>test</scope>
7882
</dependency>
7983
<!-- Need testing utility classes for generated gRPC clients tests -->
84+
<dependency>
85+
<groupId>com.google.api</groupId>
86+
<artifactId>gax</artifactId>
87+
<classifier>testlib</classifier>
88+
<scope>test</scope>
89+
</dependency>
8090
<dependency>
8191
<groupId>com.google.api</groupId>
8292
<artifactId>gax-grpc</artifactId>
8393
<classifier>testlib</classifier>
8494
<scope>test</scope>
8595
</dependency>
96+
<dependency>
97+
<groupId>com.google.api</groupId>
98+
<artifactId>gax-httpjson</artifactId>
99+
<classifier>testlib</classifier>
100+
<scope>test</scope>
101+
</dependency>
86102
</dependencies>
87103

88104
<profiles>

java-debugger-client/google-cloud-debugger-client/src/main/java/com/google/cloud/debugger/v2/Controller2Client.java

+14-4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package com.google.cloud.debugger.v2;
1818

19-
import com.google.api.core.BetaApi;
2019
import com.google.api.gax.core.BackgroundResource;
2120
import com.google.api.gax.rpc.UnaryCallable;
2221
import com.google.cloud.debugger.v2.stub.Controller2Stub;
@@ -113,6 +112,20 @@
113112
* Controller2Client controller2Client = Controller2Client.create(controller2Settings);
114113
* }</pre>
115114
*
115+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
116+
* the wire:
117+
*
118+
* <pre>{@code
119+
* // This snippet has been automatically generated for illustrative purposes only.
120+
* // It may require modifications to work in your environment.
121+
* Controller2Settings controller2Settings =
122+
* Controller2Settings.newBuilder()
123+
* .setTransportChannelProvider(
124+
* Controller2Settings.defaultHttpJsonTransportProviderBuilder().build())
125+
* .build();
126+
* Controller2Client controller2Client = Controller2Client.create(controller2Settings);
127+
* }</pre>
128+
*
116129
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
117130
*/
118131
@Generated("by gapic-generator-java")
@@ -137,7 +150,6 @@ public static final Controller2Client create(Controller2Settings settings) throw
137150
* Constructs an instance of Controller2Client, using the given stub for making calls. This is for
138151
* advanced usage - prefer using create(Controller2Settings).
139152
*/
140-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
141153
public static final Controller2Client create(Controller2Stub stub) {
142154
return new Controller2Client(stub);
143155
}
@@ -152,7 +164,6 @@ protected Controller2Client(Controller2Settings settings) throws IOException {
152164
this.stub = ((Controller2StubSettings) settings.getStubSettings()).createStub();
153165
}
154166

155-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
156167
protected Controller2Client(Controller2Stub stub) {
157168
this.settings = null;
158169
this.stub = stub;
@@ -162,7 +173,6 @@ public final Controller2Settings getSettings() {
162173
return settings;
163174
}
164175

165-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
166176
public Controller2Stub getStub() {
167177
return stub;
168178
}

java-debugger-client/google-cloud-debugger-client/src/main/java/com/google/cloud/debugger/v2/Controller2Settings.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;
@@ -115,11 +116,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
115116
return Controller2StubSettings.defaultCredentialsProviderBuilder();
116117
}
117118

118-
/** Returns a builder for the default ChannelProvider for this service. */
119+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
119120
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
120121
return Controller2StubSettings.defaultGrpcTransportProviderBuilder();
121122
}
122123

124+
/** Returns a builder for the default REST ChannelProvider for this service. */
125+
@BetaApi
126+
public static InstantiatingHttpJsonChannelProvider.Builder
127+
defaultHttpJsonTransportProviderBuilder() {
128+
return Controller2StubSettings.defaultHttpJsonTransportProviderBuilder();
129+
}
130+
123131
public static TransportChannelProvider defaultTransportChannelProvider() {
124132
return Controller2StubSettings.defaultTransportChannelProvider();
125133
}
@@ -129,11 +137,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
129137
return Controller2StubSettings.defaultApiClientHeaderProviderBuilder();
130138
}
131139

132-
/** Returns a new builder for this class. */
140+
/** Returns a new gRPC builder for this class. */
133141
public static Builder newBuilder() {
134142
return Builder.createDefault();
135143
}
136144

145+
/** Returns a new REST builder for this class. */
146+
@BetaApi
147+
public static Builder newHttpJsonBuilder() {
148+
return Builder.createHttpJsonDefault();
149+
}
150+
137151
/** Returns a new builder for this class. */
138152
public static Builder newBuilder(ClientContext clientContext) {
139153
return new Builder(clientContext);
@@ -171,6 +185,11 @@ private static Builder createDefault() {
171185
return new Builder(Controller2StubSettings.newBuilder());
172186
}
173187

188+
@BetaApi
189+
private static Builder createHttpJsonDefault() {
190+
return new Builder(Controller2StubSettings.newHttpJsonBuilder());
191+
}
192+
174193
public Controller2StubSettings.Builder getStubSettingsBuilder() {
175194
return ((Controller2StubSettings.Builder) getStubSettings());
176195
}

java-debugger-client/google-cloud-debugger-client/src/main/java/com/google/cloud/debugger/v2/Debugger2Client.java

+14-4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package com.google.cloud.debugger.v2;
1818

19-
import com.google.api.core.BetaApi;
2019
import com.google.api.gax.core.BackgroundResource;
2120
import com.google.api.gax.rpc.UnaryCallable;
2221
import com.google.cloud.debugger.v2.stub.Debugger2Stub;
@@ -113,6 +112,20 @@
113112
* Debugger2Client debugger2Client = Debugger2Client.create(debugger2Settings);
114113
* }</pre>
115114
*
115+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
116+
* the wire:
117+
*
118+
* <pre>{@code
119+
* // This snippet has been automatically generated for illustrative purposes only.
120+
* // It may require modifications to work in your environment.
121+
* Debugger2Settings debugger2Settings =
122+
* Debugger2Settings.newBuilder()
123+
* .setTransportChannelProvider(
124+
* Debugger2Settings.defaultHttpJsonTransportProviderBuilder().build())
125+
* .build();
126+
* Debugger2Client debugger2Client = Debugger2Client.create(debugger2Settings);
127+
* }</pre>
128+
*
116129
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
117130
*/
118131
@Generated("by gapic-generator-java")
@@ -137,7 +150,6 @@ public static final Debugger2Client create(Debugger2Settings settings) throws IO
137150
* Constructs an instance of Debugger2Client, using the given stub for making calls. This is for
138151
* advanced usage - prefer using create(Debugger2Settings).
139152
*/
140-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
141153
public static final Debugger2Client create(Debugger2Stub stub) {
142154
return new Debugger2Client(stub);
143155
}
@@ -151,7 +163,6 @@ protected Debugger2Client(Debugger2Settings settings) throws IOException {
151163
this.stub = ((Debugger2StubSettings) settings.getStubSettings()).createStub();
152164
}
153165

154-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
155166
protected Debugger2Client(Debugger2Stub stub) {
156167
this.settings = null;
157168
this.stub = stub;
@@ -161,7 +172,6 @@ public final Debugger2Settings getSettings() {
161172
return settings;
162173
}
163174

164-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
165175
public Debugger2Stub getStub() {
166176
return stub;
167177
}

java-debugger-client/google-cloud-debugger-client/src/main/java/com/google/cloud/debugger/v2/Debugger2Settings.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;
@@ -127,11 +128,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
127128
return Debugger2StubSettings.defaultCredentialsProviderBuilder();
128129
}
129130

130-
/** Returns a builder for the default ChannelProvider for this service. */
131+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
131132
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
132133
return Debugger2StubSettings.defaultGrpcTransportProviderBuilder();
133134
}
134135

136+
/** Returns a builder for the default REST ChannelProvider for this service. */
137+
@BetaApi
138+
public static InstantiatingHttpJsonChannelProvider.Builder
139+
defaultHttpJsonTransportProviderBuilder() {
140+
return Debugger2StubSettings.defaultHttpJsonTransportProviderBuilder();
141+
}
142+
135143
public static TransportChannelProvider defaultTransportChannelProvider() {
136144
return Debugger2StubSettings.defaultTransportChannelProvider();
137145
}
@@ -141,11 +149,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
141149
return Debugger2StubSettings.defaultApiClientHeaderProviderBuilder();
142150
}
143151

144-
/** Returns a new builder for this class. */
152+
/** Returns a new gRPC builder for this class. */
145153
public static Builder newBuilder() {
146154
return Builder.createDefault();
147155
}
148156

157+
/** Returns a new REST builder for this class. */
158+
@BetaApi
159+
public static Builder newHttpJsonBuilder() {
160+
return Builder.createHttpJsonDefault();
161+
}
162+
149163
/** Returns a new builder for this class. */
150164
public static Builder newBuilder(ClientContext clientContext) {
151165
return new Builder(clientContext);
@@ -183,6 +197,11 @@ private static Builder createDefault() {
183197
return new Builder(Debugger2StubSettings.newBuilder());
184198
}
185199

200+
@BetaApi
201+
private static Builder createHttpJsonDefault() {
202+
return new Builder(Debugger2StubSettings.newHttpJsonBuilder());
203+
}
204+
186205
public Debugger2StubSettings.Builder getStubSettingsBuilder() {
187206
return ((Debugger2StubSettings.Builder) getStubSettings());
188207
}

java-debugger-client/google-cloud-debugger-client/src/main/java/com/google/cloud/debugger/v2/stub/Controller2StubSettings.java

+50-4
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
import com.google.api.gax.grpc.GaxGrpcProperties;
2525
import com.google.api.gax.grpc.GrpcTransportChannel;
2626
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
27+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
28+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
29+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2730
import com.google.api.gax.retrying.RetrySettings;
2831
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2932
import com.google.api.gax.rpc.ClientContext;
@@ -114,13 +117,17 @@ public class Controller2StubSettings extends StubSettings<Controller2StubSetting
114117
return updateActiveBreakpointSettings;
115118
}
116119

117-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
118120
public Controller2Stub createStub() throws IOException {
119121
if (getTransportChannelProvider()
120122
.getTransportName()
121123
.equals(GrpcTransportChannel.getGrpcTransportName())) {
122124
return GrpcController2Stub.create(this);
123125
}
126+
if (getTransportChannelProvider()
127+
.getTransportName()
128+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
129+
return HttpJsonController2Stub.create(this);
130+
}
124131
throw new UnsupportedOperationException(
125132
String.format(
126133
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -153,30 +160,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
153160
.setUseJwtAccessWithScope(true);
154161
}
155162

156-
/** Returns a builder for the default ChannelProvider for this service. */
163+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
157164
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
158165
return InstantiatingGrpcChannelProvider.newBuilder()
159166
.setMaxInboundMessageSize(Integer.MAX_VALUE);
160167
}
161168

169+
/** Returns a builder for the default REST ChannelProvider for this service. */
170+
@BetaApi
171+
public static InstantiatingHttpJsonChannelProvider.Builder
172+
defaultHttpJsonTransportProviderBuilder() {
173+
return InstantiatingHttpJsonChannelProvider.newBuilder();
174+
}
175+
162176
public static TransportChannelProvider defaultTransportChannelProvider() {
163177
return defaultGrpcTransportProviderBuilder().build();
164178
}
165179

166180
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
167-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
181+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
168182
return ApiClientHeaderProvider.newBuilder()
169183
.setGeneratedLibToken(
170184
"gapic", GaxProperties.getLibraryVersion(Controller2StubSettings.class))
171185
.setTransportToken(
172186
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
173187
}
174188

175-
/** Returns a new builder for this class. */
189+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
190+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
191+
return ApiClientHeaderProvider.newBuilder()
192+
.setGeneratedLibToken(
193+
"gapic", GaxProperties.getLibraryVersion(Controller2StubSettings.class))
194+
.setTransportToken(
195+
GaxHttpJsonProperties.getHttpJsonTokenName(),
196+
GaxHttpJsonProperties.getHttpJsonVersion());
197+
}
198+
199+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
200+
return Controller2StubSettings.defaultGrpcApiClientHeaderProviderBuilder();
201+
}
202+
203+
/** Returns a new gRPC builder for this class. */
176204
public static Builder newBuilder() {
177205
return Builder.createDefault();
178206
}
179207

208+
/** Returns a new REST builder for this class. */
209+
public static Builder newHttpJsonBuilder() {
210+
return Builder.createHttpJsonDefault();
211+
}
212+
180213
/** Returns a new builder for this class. */
181214
public static Builder newBuilder(ClientContext clientContext) {
182215
return new Builder(clientContext);
@@ -295,6 +328,19 @@ private static Builder createDefault() {
295328
return initDefaults(builder);
296329
}
297330

331+
private static Builder createHttpJsonDefault() {
332+
Builder builder = new Builder(((ClientContext) null));
333+
334+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
335+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
336+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
337+
builder.setEndpoint(getDefaultEndpoint());
338+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
339+
builder.setSwitchToMtlsEndpointAllowed(true);
340+
341+
return initDefaults(builder);
342+
}
343+
298344
private static Builder initDefaults(Builder builder) {
299345
builder
300346
.registerDebuggeeSettings()

0 commit comments

Comments
 (0)