99import org .springframework .context .annotation .Configuration ;
1010import org .springframework .http .client .reactive .JettyClientHttpConnector ;
1111import org .springframework .web .reactive .function .client .WebClient ;
12+ import org .springframework .web .util .DefaultUriBuilderFactory ;
13+
1214import static org .springframework .http .HttpHeaders .CONTENT_TYPE ;
1315import static org .springframework .http .MediaType .APPLICATION_JSON_VALUE ;
1416
@@ -40,15 +42,23 @@ private WebClient.Builder trustAllJsonWebClientBuilder() {
4042
4143 @ Bean
4244 public WebClient ecWebClient (ExternalChannelEndpointProperties externalChannelEndpointProperties ) {
43- return defaultJsonWebClientBuilder ().baseUrl (externalChannelEndpointProperties .containerBaseUrl ()).build ();
45+ String baseUrl = externalChannelEndpointProperties .containerBaseUrl ();
46+ return defaultJsonWebClientBuilder ().baseUrl (baseUrl )
47+ .uriBuilderFactory (getDisabledEncodingFactory (baseUrl ))
48+ .clientConnector (new JettyClientHttpConnector (jettyHttpClientConf .getJettyHttpClient ()))
49+ .build ();
4450 }
4551
4652 @ Bean
4753 public WebClient ssWebClient (SafeStorageEndpointProperties safeStorageEndpointProperties ) {
48- return defaultJsonWebClientBuilder ().baseUrl (safeStorageEndpointProperties .containerBaseUrl ()).defaultHeaders (httpHeaders -> {
49- httpHeaders .set (safeStorageEndpointProperties .clientHeaderName (), safeStorageEndpointProperties .clientHeaderValue ());
50- httpHeaders .set (safeStorageEndpointProperties .apiKeyHeaderName (), safeStorageEndpointProperties .apiKeyHeaderValue ());
51- }).build ();
54+ String baseUrl = safeStorageEndpointProperties .containerBaseUrl ();
55+ return defaultJsonWebClientBuilder ().baseUrl (baseUrl )
56+ .uriBuilderFactory (getDisabledEncodingFactory (baseUrl ))
57+ .clientConnector (new JettyClientHttpConnector (jettyHttpClientConf .getJettyHttpClient ()))
58+ .defaultHeaders (httpHeaders -> {
59+ httpHeaders .set (safeStorageEndpointProperties .clientHeaderName (), safeStorageEndpointProperties .clientHeaderValue ());
60+ httpHeaders .set (safeStorageEndpointProperties .apiKeyHeaderName (), safeStorageEndpointProperties .apiKeyHeaderValue ());
61+ }).build ();
5262 }
5363
5464 @ Bean
@@ -63,7 +73,11 @@ public WebClient uploadWebClient() {
6373
6474 @ Bean
6575 public WebClient stateMachineWebClient (StateMachineEndpointProperties stateMachineEndpointProperties ) {
66- return defaultJsonWebClientBuilder ().baseUrl (stateMachineEndpointProperties .containerBaseUrl ()).build ();
76+ String baseUrl = stateMachineEndpointProperties .containerBaseUrl ();
77+ return defaultJsonWebClientBuilder ().baseUrl (baseUrl )
78+ .uriBuilderFactory (getDisabledEncodingFactory (baseUrl ))
79+ .clientConnector (new JettyClientHttpConnector (jettyHttpClientConf .getJettyHttpClient ()))
80+ .build ();
6781 }
6882
6983 @ Bean
@@ -79,25 +93,42 @@ public WebClient consolidatoreWebClient(ConsolidatoreEndpointProperties consolid
7993 public WebClient pdfRasterWebClient (PdfRasterEndpointProperties pdfRasterEndpointProperties ,SafeStorageEndpointProperties safeStorageEndpointProperties ){
8094 String pdfRasterBaseUrl = pdfRasterEndpointProperties .baseUrl ();
8195
82- return defaultJsonWebClientBuilder ().baseUrl (pdfRasterBaseUrl ).defaultHeaders (httpHeaders -> {
83- httpHeaders .set (safeStorageEndpointProperties .clientHeaderName (),pdfRasterEndpointProperties .clientHeaderValue ());
84- httpHeaders .set (safeStorageEndpointProperties .apiKeyHeaderName (),pdfRasterEndpointProperties .clientHeaderApiKey ());
85- }).build ();
96+ return defaultJsonWebClientBuilder ().baseUrl (pdfRasterBaseUrl )
97+ .uriBuilderFactory (getDisabledEncodingFactory (pdfRasterBaseUrl ))
98+ .clientConnector (new JettyClientHttpConnector (jettyHttpClientConf .getJettyHttpClient ()))
99+ .defaultHeaders (httpHeaders -> {
100+ httpHeaders .set (safeStorageEndpointProperties .clientHeaderName (),pdfRasterEndpointProperties .clientHeaderValue ());
101+ httpHeaders .set (safeStorageEndpointProperties .apiKeyHeaderName (),pdfRasterEndpointProperties .clientHeaderApiKey ());
102+ }).build ();
86103 }
87104
88105 private WebClient defaultConsolidatoreWebClient (ConsolidatoreEndpointProperties consolidatoreEndpointProperties )
89106 {
90- return defaultJsonWebClientBuilder ().baseUrl (consolidatoreEndpointProperties .baseUrl ()).defaultHeaders (httpHeaders -> {
91- httpHeaders .set (consolidatoreEndpointProperties .clientHeaderName (), consolidatoreEndpointProperties .clientHeaderValue ());
92- httpHeaders .set (consolidatoreEndpointProperties .apiKeyHeaderName (), consolidatoreEndpointProperties .apiKeyHeaderValue ());
93- }).build ();
107+ String consolidatoreBaseUrl = consolidatoreEndpointProperties .baseUrl ();
108+ return defaultJsonWebClientBuilder ().baseUrl (consolidatoreBaseUrl )
109+ .uriBuilderFactory (getDisabledEncodingFactory (consolidatoreBaseUrl ))
110+ .clientConnector (new JettyClientHttpConnector (jettyHttpClientConf .getJettyHttpClient ()))
111+ .defaultHeaders (httpHeaders -> {
112+ httpHeaders .set (consolidatoreEndpointProperties .clientHeaderName (), consolidatoreEndpointProperties .clientHeaderValue ());
113+ httpHeaders .set (consolidatoreEndpointProperties .apiKeyHeaderName (), consolidatoreEndpointProperties .apiKeyHeaderValue ());
114+ }).build ();
94115 }
95116
96117 private WebClient trustAllConsolidatoreWebClient (ConsolidatoreEndpointProperties consolidatoreEndpointProperties ) {
97- return trustAllJsonWebClientBuilder ().baseUrl (consolidatoreEndpointProperties .baseUrl ()).defaultHeaders (httpHeaders -> {
98- httpHeaders .set (consolidatoreEndpointProperties .clientHeaderName (), consolidatoreEndpointProperties .clientHeaderValue ());
99- httpHeaders .set (consolidatoreEndpointProperties .apiKeyHeaderName (), consolidatoreEndpointProperties .apiKeyHeaderValue ());
100- }).build ();
118+ String consolidatoreBaseUrl = consolidatoreEndpointProperties .baseUrl ();
119+ return trustAllJsonWebClientBuilder ().baseUrl (consolidatoreBaseUrl )
120+ .uriBuilderFactory (getDisabledEncodingFactory (consolidatoreBaseUrl ))
121+ .clientConnector (new JettyClientHttpConnector (jettyHttpClientConf .getJettyHttpClient ()))
122+ .defaultHeaders (httpHeaders -> {
123+ httpHeaders .set (consolidatoreEndpointProperties .clientHeaderName (), consolidatoreEndpointProperties .clientHeaderValue ());
124+ httpHeaders .set (consolidatoreEndpointProperties .apiKeyHeaderName (), consolidatoreEndpointProperties .apiKeyHeaderValue ());
125+ }).build ();
126+ }
127+
128+ private DefaultUriBuilderFactory getDisabledEncodingFactory (String baseUrl ) {
129+ DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory (baseUrl );
130+ factory .setEncodingMode (DefaultUriBuilderFactory .EncodingMode .NONE );
131+ return factory ;
101132 }
102133
103134}
0 commit comments