View Javadoc

1   package com.atlassian.sal.core.net;
2   
3   public class SystemPropertiesConnectionConfig implements ConnectionConfig
4   {
5   
6       public static final String HTTP_SOCKET_TIMEOUT_PROPERTY_NAME = "http.socketTimeout";
7       public static final String HTTP_CONNECTION_TIMEOUT_PROPERTY_NAME = "http.connectionTimeout";
8       public static final String HTTP_MAX_REDIRECTS_PROPERTY_NAME = "http.max-redirects";
9   
10      public static final int DEFAULT_SOCKET_TIMEOUT = 10_000;
11      public static final int DEFAULT_CONNECTION_TIMEOUT = 10_000;
12      public static final int DEFAULT_MAX_REDIRECTS = 20;
13  
14      private final int socketTimeout;
15      private final int connectionTimeout;
16      private final int maxRedirects;
17  
18      public SystemPropertiesConnectionConfig()
19      {
20          socketTimeout = Integer.getInteger(HTTP_SOCKET_TIMEOUT_PROPERTY_NAME, DEFAULT_SOCKET_TIMEOUT);
21          connectionTimeout = Integer.getInteger(HTTP_CONNECTION_TIMEOUT_PROPERTY_NAME, DEFAULT_CONNECTION_TIMEOUT);
22          maxRedirects = Integer.getInteger(HTTP_MAX_REDIRECTS_PROPERTY_NAME, DEFAULT_MAX_REDIRECTS);
23      }
24  
25      @Override
26      public int getSocketTimeout()
27      {
28          return socketTimeout;
29      }
30  
31      @Override
32      public int getConnectionTimeout()
33      {
34          return connectionTimeout;
35      }
36  
37      @Override
38      public int getMaxRedirects()
39      {
40          return maxRedirects;
41      }
42  
43  }