View Javadoc

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