View Javadoc

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   * Does NOT support json/xml oject marshalling. Use the atlassian-rest implementation of
13   * {@link com.atlassian.sal.api.net.RequestFactory} instead.
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      /* (non-Javadoc)
27           * @see com.atlassian.sal.api.net.RequestFactory#createMethod(com.atlassian.sal.api.net.Request.MethodType, java.lang.String)
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  }