1 package com.atlassian.sal.core.net;
2
3 import com.atlassian.sal.api.net.Request.MethodType;
4 import com.atlassian.sal.api.user.UserManager;
5 import com.atlassian.sal.core.trusted.CertificateFactory;
6 import org.apache.http.client.protocol.HttpClientContext;
7 import org.apache.http.impl.client.CloseableHttpClient;
8 import org.slf4j.Logger;
9 import org.slf4j.LoggerFactory;
10
11
12
13
14
15 public class HttpClientTrustedRequestFactory extends HttpClientRequestFactory {
16 private static final Logger log = LoggerFactory.getLogger(HttpClientTrustedRequestFactory.class);
17
18 private final UserManager userManager;
19 private final CertificateFactory certificateFactory;
20
21 public HttpClientTrustedRequestFactory(final UserManager userManager, final CertificateFactory certificateFactory) {
22 this.userManager = userManager;
23 this.certificateFactory = certificateFactory;
24 }
25
26
27
28
29 public HttpClientTrustedRequest createTrustedRequest(final MethodType methodType, final String url) {
30 final ProxyConfig proxyConfig = new SystemPropertiesProxyConfig();
31 final CloseableHttpClient httpClient = createHttpClient(proxyConfig);
32 final HttpClientContext clientContext = createClientContext(proxyConfig);
33 return new HttpClientTrustedRequest(userManager, certificateFactory, httpClient, clientContext, methodType, url);
34 }
35 }