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 }