Skip to content

Commit 123f50d

Browse files
WeltraumschafManuelNeuer
authored andcommitted
#36 Extract method to create request factory
Signed-off-by: Sven Strittmatter <sven.strittmatter@iteratec.com>
1 parent 4ff0a2e commit 123f50d

File tree

1 file changed

+21
-17
lines changed

1 file changed

+21
-17
lines changed

src/main/java/io/securecodebox/persistence/defectdojo/service/DefaultImportScanService.java

+21-17
Original file line numberDiff line numberDiff line change
@@ -63,23 +63,7 @@ private RestTemplate createRestTemplate() {
6363
final var template = new RestTemplate();
6464

6565
if (shouldConfigureProxySettings()) {
66-
// Configuring Proxy Authentication explicitly as it isn't done by default for spring rest templates :(
67-
final var credentials = new BasicCredentialsProvider();
68-
credentials.setCredentials(
69-
new AuthScope(System.getProperty("http.proxyHost"), Integer.parseInt(System.getProperty("http.proxyPort"))),
70-
new UsernamePasswordCredentials(System.getProperty("http.proxyUser"), System.getProperty("http.proxyPassword"))
71-
);
72-
73-
final var clientBuilder = HttpClientBuilder.create();
74-
75-
clientBuilder.useSystemProperties();
76-
clientBuilder.setProxy(new HttpHost(System.getProperty("http.proxyHost"), Integer.parseInt(System.getProperty("http.proxyPort"))));
77-
clientBuilder.setDefaultCredentialsProvider(credentials);
78-
clientBuilder.setProxyAuthenticationStrategy(new ProxyAuthenticationStrategy());
79-
80-
final var factory = new HttpComponentsClientHttpRequestFactory();
81-
factory.setHttpClient(clientBuilder.build());
82-
template.setRequestFactory(factory);
66+
template.setRequestFactory(createRequestFactoryWithProxyAuthConfig());
8367
}
8468

8569
return template;
@@ -89,6 +73,26 @@ private static boolean shouldConfigureProxySettings() {
8973
return System.getProperty("http.proxyUser") != null && System.getProperty("http.proxyPassword") != null;
9074
}
9175

76+
private static HttpComponentsClientHttpRequestFactory createRequestFactoryWithProxyAuthConfig() {
77+
// Configuring Proxy Authentication explicitly as it isn't done by default for spring rest templates :(
78+
final var credentials = new BasicCredentialsProvider();
79+
credentials.setCredentials(
80+
new AuthScope(System.getProperty("http.proxyHost"), Integer.parseInt(System.getProperty("http.proxyPort"))),
81+
new UsernamePasswordCredentials(System.getProperty("http.proxyUser"), System.getProperty("http.proxyPassword"))
82+
);
83+
84+
final var clientBuilder = HttpClientBuilder.create();
85+
86+
clientBuilder.useSystemProperties();
87+
clientBuilder.setProxy(new HttpHost(System.getProperty("http.proxyHost"), Integer.parseInt(System.getProperty("http.proxyPort"))));
88+
clientBuilder.setDefaultCredentialsProvider(credentials);
89+
clientBuilder.setProxyAuthenticationStrategy(new ProxyAuthenticationStrategy());
90+
91+
final var factory = new HttpComponentsClientHttpRequestFactory();
92+
factory.setHttpClient(clientBuilder.build());
93+
return factory;
94+
}
95+
9296
/*
9397
* Before version 1.5.4. testName (in DefectDojo _test_type_) must be defectDojoScanName, afterward, you can have something else.
9498
*/

0 commit comments

Comments
 (0)