Skip to content

Commit 18f522e

Browse files
authored
cleanup: refactor SetMetadata() for gRPC-based libs (#13935)
1 parent a2ecba5 commit 18f522e

322 files changed

Lines changed: 1075 additions & 4448 deletions

File tree

Some content is hidden

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

generator/integration_tests/golden/v1/internal/golden_kitchen_sink_metadata_decorator.cc

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
// source: generator/integration_tests/test.proto
1818

1919
#include "generator/integration_tests/golden/v1/internal/golden_kitchen_sink_metadata_decorator.h"
20-
#include "google/cloud/common_options.h"
20+
#include "google/cloud/grpc_options.h"
2121
#include "google/cloud/internal/absl_str_cat_quiet.h"
2222
#include "google/cloud/internal/absl_str_join_quiet.h"
2323
#include "google/cloud/internal/api_client_header.h"
@@ -246,19 +246,8 @@ void GoldenKitchenSinkMetadata::SetMetadata(grpc::ClientContext& context,
246246

247247
void GoldenKitchenSinkMetadata::SetMetadata(grpc::ClientContext& context,
248248
Options const& options) {
249-
for (auto const& kv : fixed_metadata_) {
250-
context.AddMetadata(kv.first, kv.second);
251-
}
252-
context.AddMetadata("x-goog-api-client", api_client_header_);
253-
if (options.has<UserProjectOption>()) {
254-
context.AddMetadata(
255-
"x-goog-user-project", options.get<UserProjectOption>());
256-
}
257-
auto const& authority = options.get<AuthorityOption>();
258-
if (!authority.empty()) context.set_authority(authority);
259-
for (auto const& h : options.get<CustomHeadersOption>()) {
260-
context.AddMetadata(h.first, h.second);
261-
}
249+
google::cloud::internal::SetMetadata(
250+
context, options, fixed_metadata_, api_client_header_);
262251
}
263252

264253
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END

generator/integration_tests/golden/v1/internal/golden_thing_admin_metadata_decorator.cc

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
// source: generator/integration_tests/test.proto
1818

1919
#include "generator/integration_tests/golden/v1/internal/golden_thing_admin_metadata_decorator.h"
20-
#include "google/cloud/common_options.h"
20+
#include "google/cloud/grpc_options.h"
2121
#include "google/cloud/internal/absl_str_cat_quiet.h"
2222
#include "google/cloud/internal/absl_str_join_quiet.h"
2323
#include "google/cloud/internal/api_client_header.h"
@@ -350,19 +350,8 @@ void GoldenThingAdminMetadata::SetMetadata(grpc::ClientContext& context,
350350

351351
void GoldenThingAdminMetadata::SetMetadata(grpc::ClientContext& context,
352352
Options const& options) {
353-
for (auto const& kv : fixed_metadata_) {
354-
context.AddMetadata(kv.first, kv.second);
355-
}
356-
context.AddMetadata("x-goog-api-client", api_client_header_);
357-
if (options.has<UserProjectOption>()) {
358-
context.AddMetadata(
359-
"x-goog-user-project", options.get<UserProjectOption>());
360-
}
361-
auto const& authority = options.get<AuthorityOption>();
362-
if (!authority.empty()) context.set_authority(authority);
363-
for (auto const& h : options.get<CustomHeadersOption>()) {
364-
context.AddMetadata(h.first, h.second);
365-
}
353+
google::cloud::internal::SetMetadata(
354+
context, options, fixed_metadata_, api_client_header_);
366355
}
367356

368357
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END

generator/integration_tests/golden/v1/internal/request_id_metadata_decorator.cc

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
// source: generator/integration_tests/test_request_id.proto
1818

1919
#include "generator/integration_tests/golden/v1/internal/request_id_metadata_decorator.h"
20-
#include "google/cloud/common_options.h"
20+
#include "google/cloud/grpc_options.h"
2121
#include "google/cloud/internal/absl_str_cat_quiet.h"
2222
#include "google/cloud/internal/absl_str_join_quiet.h"
2323
#include "google/cloud/internal/api_client_header.h"
@@ -167,19 +167,8 @@ void RequestIdServiceMetadata::SetMetadata(grpc::ClientContext& context,
167167

168168
void RequestIdServiceMetadata::SetMetadata(grpc::ClientContext& context,
169169
Options const& options) {
170-
for (auto const& kv : fixed_metadata_) {
171-
context.AddMetadata(kv.first, kv.second);
172-
}
173-
context.AddMetadata("x-goog-api-client", api_client_header_);
174-
if (options.has<UserProjectOption>()) {
175-
context.AddMetadata(
176-
"x-goog-user-project", options.get<UserProjectOption>());
177-
}
178-
auto const& authority = options.get<AuthorityOption>();
179-
if (!authority.empty()) context.set_authority(authority);
180-
for (auto const& h : options.get<CustomHeadersOption>()) {
181-
context.AddMetadata(h.first, h.second);
182-
}
170+
google::cloud::internal::SetMetadata(
171+
context, options, fixed_metadata_, api_client_header_);
183172
}
184173

185174
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END

generator/internal/metadata_decorator_generator.cc

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -177,17 +177,17 @@ Status MetadataDecoratorGenerator::GenerateCc() {
177177

178178
// includes
179179
CcPrint("\n");
180-
CcLocalIncludes({vars("metadata_header_path"),
181-
"google/cloud/internal/absl_str_cat_quiet.h",
182-
HasExplicitRoutingMethod()
183-
? "google/cloud/internal/absl_str_join_quiet.h"
184-
: "",
185-
"google/cloud/internal/api_client_header.h",
186-
HasExplicitRoutingMethod()
187-
? "google/cloud/internal/routing_matcher.h"
188-
: "",
189-
"google/cloud/common_options.h", "google/cloud/status_or.h",
190-
"google/cloud/internal/url_encode.h"});
180+
CcLocalIncludes(
181+
{vars("metadata_header_path"),
182+
"google/cloud/internal/absl_str_cat_quiet.h",
183+
HasExplicitRoutingMethod()
184+
? "google/cloud/internal/absl_str_join_quiet.h"
185+
: "",
186+
"google/cloud/internal/api_client_header.h",
187+
"google/cloud/grpc_options.h",
188+
HasExplicitRoutingMethod() ? "google/cloud/internal/routing_matcher.h"
189+
: "",
190+
"google/cloud/status_or.h", "google/cloud/internal/url_encode.h"});
191191
CcSystemIncludes({vars("proto_grpc_header_path"), "memory", "utility"});
192192

193193
auto result = CcOpenNamespaces(NamespaceType::kInternal);
@@ -396,19 +396,8 @@ void $metadata_class_name$::SetMetadata(grpc::ClientContext& context,
396396
397397
void $metadata_class_name$::SetMetadata(grpc::ClientContext& context,
398398
Options const& options) {
399-
for (auto const& kv : fixed_metadata_) {
400-
context.AddMetadata(kv.first, kv.second);
401-
}
402-
context.AddMetadata("x-goog-api-client", api_client_header_);
403-
if (options.has<UserProjectOption>()) {
404-
context.AddMetadata(
405-
"x-goog-user-project", options.get<UserProjectOption>());
406-
}
407-
auto const& authority = options.get<AuthorityOption>();
408-
if (!authority.empty()) context.set_authority(authority);
409-
for (auto const& h : options.get<CustomHeadersOption>()) {
410-
context.AddMetadata(h.first, h.second);
411-
}
399+
google::cloud::internal::SetMetadata(
400+
context, options, fixed_metadata_, api_client_header_);
412401
}
413402
)""");
414403

google/cloud/accessapproval/v1/internal/access_approval_metadata_decorator.cc

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
// source: google/cloud/accessapproval/v1/accessapproval.proto
1818

1919
#include "google/cloud/accessapproval/v1/internal/access_approval_metadata_decorator.h"
20-
#include "google/cloud/common_options.h"
20+
#include "google/cloud/grpc_options.h"
2121
#include "google/cloud/internal/absl_str_cat_quiet.h"
2222
#include "google/cloud/internal/api_client_header.h"
2323
#include "google/cloud/internal/url_encode.h"
@@ -141,19 +141,8 @@ void AccessApprovalMetadata::SetMetadata(grpc::ClientContext& context,
141141

142142
void AccessApprovalMetadata::SetMetadata(grpc::ClientContext& context,
143143
Options const& options) {
144-
for (auto const& kv : fixed_metadata_) {
145-
context.AddMetadata(kv.first, kv.second);
146-
}
147-
context.AddMetadata("x-goog-api-client", api_client_header_);
148-
if (options.has<UserProjectOption>()) {
149-
context.AddMetadata("x-goog-user-project",
150-
options.get<UserProjectOption>());
151-
}
152-
auto const& authority = options.get<AuthorityOption>();
153-
if (!authority.empty()) context.set_authority(authority);
154-
for (auto const& h : options.get<CustomHeadersOption>()) {
155-
context.AddMetadata(h.first, h.second);
156-
}
144+
google::cloud::internal::SetMetadata(context, options, fixed_metadata_,
145+
api_client_header_);
157146
}
158147

159148
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END

google/cloud/accesscontextmanager/v1/internal/access_context_manager_metadata_decorator.cc

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
// source: google/identity/accesscontextmanager/v1/access_context_manager.proto
1818

1919
#include "google/cloud/accesscontextmanager/v1/internal/access_context_manager_metadata_decorator.h"
20-
#include "google/cloud/common_options.h"
20+
#include "google/cloud/grpc_options.h"
2121
#include "google/cloud/internal/absl_str_cat_quiet.h"
2222
#include "google/cloud/internal/api_client_header.h"
2323
#include "google/cloud/internal/url_encode.h"
@@ -382,19 +382,8 @@ void AccessContextManagerMetadata::SetMetadata(
382382

383383
void AccessContextManagerMetadata::SetMetadata(grpc::ClientContext& context,
384384
Options const& options) {
385-
for (auto const& kv : fixed_metadata_) {
386-
context.AddMetadata(kv.first, kv.second);
387-
}
388-
context.AddMetadata("x-goog-api-client", api_client_header_);
389-
if (options.has<UserProjectOption>()) {
390-
context.AddMetadata("x-goog-user-project",
391-
options.get<UserProjectOption>());
392-
}
393-
auto const& authority = options.get<AuthorityOption>();
394-
if (!authority.empty()) context.set_authority(authority);
395-
for (auto const& h : options.get<CustomHeadersOption>()) {
396-
context.AddMetadata(h.first, h.second);
397-
}
385+
google::cloud::internal::SetMetadata(context, options, fixed_metadata_,
386+
api_client_header_);
398387
}
399388

400389
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END

google/cloud/advisorynotifications/v1/internal/advisory_notifications_metadata_decorator.cc

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
// source: google/cloud/advisorynotifications/v1/service.proto
1818

1919
#include "google/cloud/advisorynotifications/v1/internal/advisory_notifications_metadata_decorator.h"
20-
#include "google/cloud/common_options.h"
20+
#include "google/cloud/grpc_options.h"
2121
#include "google/cloud/internal/absl_str_cat_quiet.h"
2222
#include "google/cloud/internal/api_client_header.h"
2323
#include "google/cloud/internal/url_encode.h"
@@ -92,19 +92,8 @@ void AdvisoryNotificationsServiceMetadata::SetMetadata(
9292

9393
void AdvisoryNotificationsServiceMetadata::SetMetadata(
9494
grpc::ClientContext& context, Options const& options) {
95-
for (auto const& kv : fixed_metadata_) {
96-
context.AddMetadata(kv.first, kv.second);
97-
}
98-
context.AddMetadata("x-goog-api-client", api_client_header_);
99-
if (options.has<UserProjectOption>()) {
100-
context.AddMetadata("x-goog-user-project",
101-
options.get<UserProjectOption>());
102-
}
103-
auto const& authority = options.get<AuthorityOption>();
104-
if (!authority.empty()) context.set_authority(authority);
105-
for (auto const& h : options.get<CustomHeadersOption>()) {
106-
context.AddMetadata(h.first, h.second);
107-
}
95+
google::cloud::internal::SetMetadata(context, options, fixed_metadata_,
96+
api_client_header_);
10897
}
10998

11099
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END

google/cloud/aiplatform/v1/internal/dataset_metadata_decorator.cc

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
// source: google/cloud/aiplatform/v1/dataset_service.proto
1818

1919
#include "google/cloud/aiplatform/v1/internal/dataset_metadata_decorator.h"
20-
#include "google/cloud/common_options.h"
20+
#include "google/cloud/grpc_options.h"
2121
#include "google/cloud/internal/absl_str_cat_quiet.h"
2222
#include "google/cloud/internal/api_client_header.h"
2323
#include "google/cloud/internal/url_encode.h"
@@ -262,19 +262,8 @@ void DatasetServiceMetadata::SetMetadata(grpc::ClientContext& context,
262262

263263
void DatasetServiceMetadata::SetMetadata(grpc::ClientContext& context,
264264
Options const& options) {
265-
for (auto const& kv : fixed_metadata_) {
266-
context.AddMetadata(kv.first, kv.second);
267-
}
268-
context.AddMetadata("x-goog-api-client", api_client_header_);
269-
if (options.has<UserProjectOption>()) {
270-
context.AddMetadata("x-goog-user-project",
271-
options.get<UserProjectOption>());
272-
}
273-
auto const& authority = options.get<AuthorityOption>();
274-
if (!authority.empty()) context.set_authority(authority);
275-
for (auto const& h : options.get<CustomHeadersOption>()) {
276-
context.AddMetadata(h.first, h.second);
277-
}
265+
google::cloud::internal::SetMetadata(context, options, fixed_metadata_,
266+
api_client_header_);
278267
}
279268

280269
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END

google/cloud/aiplatform/v1/internal/deployment_resource_pool_metadata_decorator.cc

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
// source: google/cloud/aiplatform/v1/deployment_resource_pool_service.proto
1818

1919
#include "google/cloud/aiplatform/v1/internal/deployment_resource_pool_metadata_decorator.h"
20-
#include "google/cloud/common_options.h"
20+
#include "google/cloud/grpc_options.h"
2121
#include "google/cloud/internal/absl_str_cat_quiet.h"
2222
#include "google/cloud/internal/api_client_header.h"
2323
#include "google/cloud/internal/url_encode.h"
@@ -120,19 +120,8 @@ void DeploymentResourcePoolServiceMetadata::SetMetadata(
120120

121121
void DeploymentResourcePoolServiceMetadata::SetMetadata(
122122
grpc::ClientContext& context, Options const& options) {
123-
for (auto const& kv : fixed_metadata_) {
124-
context.AddMetadata(kv.first, kv.second);
125-
}
126-
context.AddMetadata("x-goog-api-client", api_client_header_);
127-
if (options.has<UserProjectOption>()) {
128-
context.AddMetadata("x-goog-user-project",
129-
options.get<UserProjectOption>());
130-
}
131-
auto const& authority = options.get<AuthorityOption>();
132-
if (!authority.empty()) context.set_authority(authority);
133-
for (auto const& h : options.get<CustomHeadersOption>()) {
134-
context.AddMetadata(h.first, h.second);
135-
}
123+
google::cloud::internal::SetMetadata(context, options, fixed_metadata_,
124+
api_client_header_);
136125
}
137126

138127
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END

google/cloud/aiplatform/v1/internal/endpoint_metadata_decorator.cc

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
// source: google/cloud/aiplatform/v1/endpoint_service.proto
1818

1919
#include "google/cloud/aiplatform/v1/internal/endpoint_metadata_decorator.h"
20-
#include "google/cloud/common_options.h"
20+
#include "google/cloud/grpc_options.h"
2121
#include "google/cloud/internal/absl_str_cat_quiet.h"
2222
#include "google/cloud/internal/api_client_header.h"
2323
#include "google/cloud/internal/url_encode.h"
@@ -165,19 +165,8 @@ void EndpointServiceMetadata::SetMetadata(grpc::ClientContext& context,
165165

166166
void EndpointServiceMetadata::SetMetadata(grpc::ClientContext& context,
167167
Options const& options) {
168-
for (auto const& kv : fixed_metadata_) {
169-
context.AddMetadata(kv.first, kv.second);
170-
}
171-
context.AddMetadata("x-goog-api-client", api_client_header_);
172-
if (options.has<UserProjectOption>()) {
173-
context.AddMetadata("x-goog-user-project",
174-
options.get<UserProjectOption>());
175-
}
176-
auto const& authority = options.get<AuthorityOption>();
177-
if (!authority.empty()) context.set_authority(authority);
178-
for (auto const& h : options.get<CustomHeadersOption>()) {
179-
context.AddMetadata(h.first, h.second);
180-
}
168+
google::cloud::internal::SetMetadata(context, options, fixed_metadata_,
169+
api_client_header_);
181170
}
182171

183172
GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END

0 commit comments

Comments
 (0)