From 37f6b149b31943a1512eb973f8f83481bba4965d Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Thu, 2 Mar 2023 14:09:03 +0100 Subject: [PATCH] Polishing. Update documentation regarding Config Data API customization. See gh-662 --- docs/src/main/asciidoc/config-data.adoc | 30 ++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/docs/src/main/asciidoc/config-data.adoc b/docs/src/main/asciidoc/config-data.adoc index ba8f6bbed..b58e08f3a 100644 --- a/docs/src/main/asciidoc/config-data.adoc +++ b/docs/src/main/asciidoc/config-data.adoc @@ -75,16 +75,36 @@ Spring Boot bootstraps the application before a Spring Context is available. The You can customize the infrastructure used by Spring Cloud Vault by registering custom instances using the `Bootstrapper` API: +.Customizing `ClientHttpRequestFactory` ==== [source,java] ---- -InstanceSupplier builderSupplier = ctx -> RestTemplateBuilder - .builder() - .requestFactory(ctx.get(ClientFactoryWrapper.class).getClientHttpRequestFactory()) - .defaultHeader("X-Vault-Namespace", "my-namespace"); +ClientOptions options = new ClientOptions(); +SslConfiguration sslConfiguration = SslConfiguration.unconfigured(); +HttpClientBuilder builder = HttpComponents.getHttpClientBuilder(options, sslConfiguration); + +InstanceSupplier supplier = context -> +new ClientFactoryWrapper(new HttpComponentsClientHttpRequestFactory(builder.build())); + +SpringApplication application = new SpringApplication(MyApplication.class); +application.addBootstrapRegistryInitializer(registry -> registry.register(ClientFactoryWrapper.class, supplier)); +---- +==== + +.Customizing `RestTemplateBuilder` +==== +[source,java] +---- +InstanceSupplier supplier = context -> { + + return RestTemplateBuilder + .builder() + .requestFactory(context.get(ClientFactoryWrapper.class).getClientHttpRequestFactory()) + .defaultHeader("X-Vault-Namespace", "my-namespace"); +}; SpringApplication application = new SpringApplication(MyApplication.class); -application.addBootstrapper(registry -> registry.register(RestTemplateBuilder.class, builderSupplier)); +application.addBootstrapRegistryInitializer(registry -> registry.register(RestTemplateBuilder.class, supplier)); ---- ====