111111import reactor .core .publisher .Mono ;
112112
113113import javax .annotation .PostConstruct ;
114+ import java .util .Collections ;
115+ import java .util .Map ;
114116
115117/**
116118 * The Reactor-based implementation of {@link CloudFoundryClient}
@@ -121,37 +123,37 @@ abstract class _ReactorCloudFoundryClient implements CloudFoundryClient {
121123 @ Override
122124 @ Value .Derived
123125 public ApplicationUsageEvents applicationUsageEvents () {
124- return new ReactorApplicationUsageEvents (getConnectionContext (), getRootV2 (), getTokenProvider ());
126+ return new ReactorApplicationUsageEvents (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
125127 }
126128
127129 @ Override
128130 @ Value .Derived
129131 public ApplicationsV2 applicationsV2 () {
130- return new ReactorApplicationsV2 (getConnectionContext (), getRootV2 (), getTokenProvider ());
132+ return new ReactorApplicationsV2 (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
131133 }
132134
133135 @ Override
134136 @ Value .Derived
135137 public ApplicationsV3 applicationsV3 () {
136- return new ReactorApplicationsV3 (getConnectionContext (), getRootV3 (), getTokenProvider ());
138+ return new ReactorApplicationsV3 (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
137139 }
138140
139141 @ Override
140142 @ Value .Derived
141143 public Blobstores blobstores () {
142- return new ReactorBlobstores (getConnectionContext (), getRootV2 (), getTokenProvider ());
144+ return new ReactorBlobstores (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
143145 }
144146
145147 @ Override
146148 @ Value .Derived
147149 public Buildpacks buildpacks () {
148- return new ReactorBuildpacks (getConnectionContext (), getRootV2 (), getTokenProvider ());
150+ return new ReactorBuildpacks (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
149151 }
150152
151153 @ Override
152154 @ Value .Derived
153155 public Builds builds () {
154- return new ReactorBuilds (getConnectionContext (), getRootV3 (), getTokenProvider ());
156+ return new ReactorBuilds (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
155157 }
156158
157159 @ PostConstruct
@@ -162,244 +164,254 @@ public void checkCompatibility() {
162164 @ Override
163165 @ Value .Derived
164166 public DeploymentsV3 deploymentsV3 () {
165- return new ReactorDeploymentsV3 (getConnectionContext (), getRootV3 (), getTokenProvider ());
167+ return new ReactorDeploymentsV3 (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
166168 }
167169
168170 @ Override
169171 @ Value .Derived
170172 public Domains domains () {
171- return new ReactorDomains (getConnectionContext (), getRootV2 (), getTokenProvider ());
173+ return new ReactorDomains (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
172174 }
173175
174176 @ Override
175177 @ Value .Derived
176178 public Droplets droplets () {
177- return new ReactorDroplets (getConnectionContext (), getRootV3 (), getTokenProvider ());
179+ return new ReactorDroplets (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
178180 }
179181
180182 @ Override
181183 @ Value .Derived
182184 public EnvironmentVariableGroups environmentVariableGroups () {
183- return new ReactorEnvironmentVariableGroups (getConnectionContext (), getRootV2 (), getTokenProvider ());
185+ return new ReactorEnvironmentVariableGroups (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
184186 }
185187
186188 @ Override
187189 @ Value .Derived
188190 public Events events () {
189- return new ReactorEvents (getConnectionContext (), getRootV2 (), getTokenProvider ());
191+ return new ReactorEvents (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
190192 }
191193
192194 @ Override
193195 @ Value .Derived
194196 public FeatureFlags featureFlags () {
195- return new ReactorFeatureFlags (getConnectionContext (), getRootV2 (), getTokenProvider ());
197+ return new ReactorFeatureFlags (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
196198 }
197199
198200 @ Override
199201 @ Value .Derived
200202 public Info info () {
201- return new ReactorInfo (getConnectionContext (), getRootV2 (), getTokenProvider ());
203+ return new ReactorInfo (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
202204 }
203205
204206 @ Override
205207 @ Value .Derived
206208 public IsolationSegments isolationSegments () {
207- return new ReactorIsolationSegments (getConnectionContext (), getRootV3 (), getTokenProvider ());
209+ return new ReactorIsolationSegments (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
208210 }
209211
210212 @ Override
211213 @ Value .Derived
212214 public Jobs jobs () {
213- return new ReactorJobs (getConnectionContext (), getRootV2 (), getTokenProvider ());
215+ return new ReactorJobs (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
214216 }
215217
216218 @ Override
217219 @ Value .Derived
218220 public JobsV3 jobsV3 () {
219- return new ReactorJobsV3 (getConnectionContext (), getRootV3 (), getTokenProvider ());
221+ return new ReactorJobsV3 (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
220222 }
221223
222224 @ Override
223225 @ Value .Derived
224226 public OrganizationQuotaDefinitions organizationQuotaDefinitions () {
225- return new ReactorOrganizationQuotaDefinitions (getConnectionContext (), getRootV2 (), getTokenProvider ());
227+ return new ReactorOrganizationQuotaDefinitions (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
226228 }
227229
228230 @ Override
229231 @ Value .Derived
230232 public Organizations organizations () {
231- return new ReactorOrganizations (getConnectionContext (), getRootV2 (), getTokenProvider ());
233+ return new ReactorOrganizations (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
232234 }
233235
234236 @ Override
235237 @ Value .Derived
236238 public OrganizationsV3 organizationsV3 () {
237- return new ReactorOrganizationsV3 (getConnectionContext (), getRootV3 (), getTokenProvider ());
239+ return new ReactorOrganizationsV3 (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
238240 }
239241
240242 @ Override
241243 @ Value .Derived
242244 public Packages packages () {
243- return new ReactorPackages (getConnectionContext (), getRootV3 (), getTokenProvider ());
245+ return new ReactorPackages (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
244246 }
245247
246248 @ Override
247249 @ Value .Derived
248250 public PrivateDomains privateDomains () {
249- return new ReactorPrivateDomains (getConnectionContext (), getRootV2 (), getTokenProvider ());
251+ return new ReactorPrivateDomains (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
250252 }
251253
252254 @ Override
253255 @ Value .Derived
254256 public Processes processes () {
255- return new ReactorProcesses (getConnectionContext (), getRootV3 (), getTokenProvider ());
257+ return new ReactorProcesses (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
256258 }
257259
258260 @ Override
259261 @ Value .Derived
260262 public ResourceMatch resourceMatch () {
261- return new ReactorResourceMatch (getConnectionContext (), getRootV2 (), getTokenProvider ());
263+ return new ReactorResourceMatch (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
262264 }
263265
264266 @ Override
265267 @ Value .Derived
266268 public RouteMappings routeMappings () {
267- return new ReactorRouteMappings (getConnectionContext (), getRootV2 (), getTokenProvider ());
269+ return new ReactorRouteMappings (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
268270 }
269271
270272 @ Override
271273 @ Value .Derived
272274 public Routes routes () {
273- return new ReactorRoutes (getConnectionContext (), getRootV2 (), getTokenProvider ());
275+ return new ReactorRoutes (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
274276 }
275277
276278 @ Override
277279 @ Value .Derived
278280 public SecurityGroups securityGroups () {
279- return new ReactorSecurityGroups (getConnectionContext (), getRootV2 (), getTokenProvider ());
281+ return new ReactorSecurityGroups (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
280282 }
281283
282284 @ Override
283285 @ Value .Derived
284286 public ServiceBindingsV2 serviceBindingsV2 () {
285- return new ReactorServiceBindingsV2 (getConnectionContext (), getRootV2 (), getTokenProvider ());
287+ return new ReactorServiceBindingsV2 (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
286288 }
287289
288290 @ Override
289291 @ Value .Derived
290292 public ServiceBindingsV3 serviceBindingsV3 () {
291- return new ReactorServiceBindingsV3 (getConnectionContext (), getRootV3 (), getTokenProvider ());
293+ return new ReactorServiceBindingsV3 (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
292294 }
293295
294296 @ Override
295297 @ Value .Derived
296298 public ServiceBrokers serviceBrokers () {
297- return new ReactorServiceBrokers (getConnectionContext (), getRootV2 (), getTokenProvider ());
299+ return new ReactorServiceBrokers (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
298300 }
299301
300302 @ Override
301303 @ Value .Derived
302304 public ServiceInstances serviceInstances () {
303- return new ReactorServiceInstances (getConnectionContext (), getRootV2 (), getTokenProvider ());
305+ return new ReactorServiceInstances (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
304306 }
305307
306308 @ Override
307309 @ Value .Derived
308310 public ServiceInstancesV3 serviceInstancesV3 () {
309- return new ReactorServiceInstancesV3 (getConnectionContext (), getRootV3 (), getTokenProvider ());
311+ return new ReactorServiceInstancesV3 (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
310312 }
311313
312314 @ Override
313315 @ Value .Derived
314316 public ServiceKeys serviceKeys () {
315- return new ReactorServiceKeys (getConnectionContext (), getRootV2 (), getTokenProvider ());
317+ return new ReactorServiceKeys (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
316318 }
317319
318320 @ Override
319321 @ Value .Derived
320322 public ServicePlanVisibilities servicePlanVisibilities () {
321- return new ReactorServicePlanVisibilities (getConnectionContext (), getRootV2 (), getTokenProvider ());
323+ return new ReactorServicePlanVisibilities (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
322324 }
323325
324326 @ Override
325327 @ Value .Derived
326328 public ServicePlans servicePlans () {
327- return new ReactorServicePlans (getConnectionContext (), getRootV2 (), getTokenProvider ());
329+ return new ReactorServicePlans (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
328330 }
329331
330332 @ Override
331333 @ Value .Derived
332334 public ServiceUsageEvents serviceUsageEvents () {
333- return new ReactorServiceUsageEvents (getConnectionContext (), getRootV2 (), getTokenProvider ());
335+ return new ReactorServiceUsageEvents (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
334336 }
335337
336338 @ Override
337339 @ Value .Derived
338340 public Services services () {
339- return new ReactorServices (getConnectionContext (), getRootV2 (), getTokenProvider ());
341+ return new ReactorServices (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
340342 }
341343
342344 @ Override
343345 @ Value .Derived
344346 public SharedDomains sharedDomains () {
345- return new ReactorSharedDomains (getConnectionContext (), getRootV2 (), getTokenProvider ());
347+ return new ReactorSharedDomains (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
346348 }
347349
348350 @ Override
349351 @ Value .Derived
350352 public SpaceQuotaDefinitions spaceQuotaDefinitions () {
351- return new ReactorSpaceQuotaDefinitions (getConnectionContext (), getRootV2 (), getTokenProvider ());
353+ return new ReactorSpaceQuotaDefinitions (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
352354 }
353355
354356 @ Override
355357 @ Value .Derived
356358 public Spaces spaces () {
357- return new ReactorSpaces (getConnectionContext (), getRootV2 (), getTokenProvider ());
359+ return new ReactorSpaces (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
358360 }
359361
360362 @ Override
361363 @ Value .Derived
362364 public SpacesV3 spacesV3 () {
363- return new ReactorSpacesV3 (getConnectionContext (), getRootV3 (), getTokenProvider ());
365+ return new ReactorSpacesV3 (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
364366 }
365367
366368 @ Override
367369 @ Value .Derived
368370 public Stacks stacks () {
369- return new ReactorStacks (getConnectionContext (), getRootV2 (), getTokenProvider ());
371+ return new ReactorStacks (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
370372 }
371373
372374 @ Override
373375 @ Value .Derived
374376 public Tasks tasks () {
375- return new ReactorTasks (getConnectionContext (), getRootV3 (), getTokenProvider ());
377+ return new ReactorTasks (getConnectionContext (), getRootV3 (), getTokenProvider (), getRequestTags () );
376378 }
377379
378380 @ Override
379381 @ Value .Derived
380382 public UserProvidedServiceInstances userProvidedServiceInstances () {
381- return new ReactorUserProvidedServiceInstances (getConnectionContext (), getRootV2 (), getTokenProvider ());
383+ return new ReactorUserProvidedServiceInstances (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
382384 }
383385
384386 @ Override
385387 @ Value .Derived
386388 public Users users () {
387- return new ReactorUsers (getConnectionContext (), getRootV2 (), getTokenProvider ());
389+ return new ReactorUsers (getConnectionContext (), getRootV2 (), getTokenProvider (), getRequestTags () );
388390 }
389391
390392 /**
391393 * The connection context
392394 */
393395 abstract ConnectionContext getConnectionContext ();
394396
397+ /**
398+ * Map of http header name and value which will be added to every request to the controller
399+ */
400+ @ Value .Default
401+ Map <String , String > getRequestTags () {
402+ return Collections .emptyMap ();
403+ }
404+
395405 @ Value .Default
396406 Mono <String > getRootV2 () {
397- return getConnectionContext ().getRootProvider ().getRoot ("cloud_controller_v2" , getConnectionContext ());
407+ return getConnectionContext ().getRootProvider ()
408+ .getRoot ("cloud_controller_v2" , getConnectionContext ());
398409 }
399410
400411 @ Value .Default
401412 Mono <String > getRootV3 () {
402- return getConnectionContext ().getRootProvider ().getRoot ("cloud_controller_v3" , getConnectionContext ());
413+ return getConnectionContext ().getRootProvider ()
414+ .getRoot ("cloud_controller_v3" , getConnectionContext ());
403415 }
404416
405417 /**
0 commit comments