Skip to content

Commit 20240fe

Browse files
bug/PN-18425: disattivazione dell'encoding sul uriBuilderFactory
1 parent 66b1d33 commit 20240fe

File tree

2 files changed

+49
-19
lines changed

2 files changed

+49
-19
lines changed

src/main/java/it/pagopa/pn/ec/commons/configuration/http/WebClientConf.java

Lines changed: 49 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import org.springframework.context.annotation.Configuration;
1010
import org.springframework.http.client.reactive.JettyClientHttpConnector;
1111
import org.springframework.web.reactive.function.client.WebClient;
12+
import org.springframework.web.util.DefaultUriBuilderFactory;
13+
1214
import static org.springframework.http.HttpHeaders.CONTENT_TYPE;
1315
import 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
}

src/test/java/it/pagopa/pn/ec/commons/rest/call/ss/file/FileCallTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import org.springframework.beans.factory.annotation.Autowired;
1717
import org.springframework.test.context.DynamicPropertyRegistry;
1818
import org.springframework.test.context.DynamicPropertySource;
19-
import org.springframework.test.context.bean.override.mockito.MockitoBean;
2019
import reactor.core.publisher.Mono;
2120
import reactor.test.StepVerifier;
2221

0 commit comments

Comments
 (0)