|
67 | 67 | import org.apache.http.client.params.ClientPNames;
|
68 | 68 | import org.apache.http.conn.params.ConnRoutePNames;
|
69 | 69 | import org.apache.http.impl.client.DefaultHttpClient;
|
| 70 | +import org.apache.http.params.BasicHttpParams; |
70 | 71 | import org.apache.http.params.CoreProtocolPNames;
|
| 72 | +import org.apache.http.params.HttpConnectionParams; |
| 73 | +import org.apache.http.params.HttpParams; |
71 | 74 | import org.kxml2.io.KXmlParser;
|
72 | 75 | import org.xmlpull.v1.XmlPullParser;
|
73 | 76 | import org.xmlpull.v1.XmlPullParserException;
|
@@ -96,6 +99,7 @@ public NationStates() {
|
96 | 99 | private long hardRateLimit = 0;
|
97 | 100 | private String proxyIP;
|
98 | 101 | private int proxyPort;
|
| 102 | + private long timeout = 15000; |
99 | 103 |
|
100 | 104 | /**
|
101 | 105 | * Sets the rate limit - default is 49 (per 30 seconds)
|
@@ -191,6 +195,14 @@ public synchronized int getProxyPort() {
|
191 | 195 | public synchronized void setProxyPort(int port) {
|
192 | 196 | this.proxyPort = port;
|
193 | 197 | }
|
| 198 | + |
| 199 | + public synchronized long getTimeout() { |
| 200 | + return timeout; |
| 201 | + } |
| 202 | + |
| 203 | + public synchronized void setTimeout(long timeout) { |
| 204 | + this.timeout = timeout; |
| 205 | + } |
194 | 206 |
|
195 | 207 | /**
|
196 | 208 | * In relaxed mode the XML parsing attempts to correct any invalid xml characters it encounters
|
@@ -1362,11 +1374,14 @@ private synchronized InputStream doRequest(String url) throws IOException {
|
1362 | 1374 | System.out.println("Making HTTP request: " + url);
|
1363 | 1375 | }
|
1364 | 1376 |
|
1365 |
| - HttpClient client = new DefaultHttpClient(); |
| 1377 | + final HttpParams httpParams = new BasicHttpParams(); |
| 1378 | + HttpClient client = new DefaultHttpClient(httpParams); |
1366 | 1379 | if (proxyIP != null) {
|
1367 | 1380 | HttpHost proxy = new HttpHost(proxyIP, proxyPort);
|
1368 | 1381 | client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
|
1369 | 1382 | }
|
| 1383 | + HttpConnectionParams.setConnectionTimeout(client.getParams(), (int) timeout); |
| 1384 | + HttpConnectionParams.setSoTimeout(client.getParams(), (int) timeout); |
1370 | 1385 | client.getParams().setParameter(CoreProtocolPNames.USER_AGENT, this.userAgent);
|
1371 | 1386 | client.getParams().setParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS, true);
|
1372 | 1387 | HttpGet get = new HttpGet(url);
|
|
0 commit comments