X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2FHttpClientUtils.java;h=b19d60620b87b7477cc9d9aafa3191c777f50b76;hb=3d0101179759ef157b088ea135423cd909512d9f;hp=c416aa5f07577039da0ca4724e068ce63adaa4c1;hpb=ad15cff29620f960119f80176f1fd443da9f6763;p=jalview.git diff --git a/src/jalview/ws/HttpClientUtils.java b/src/jalview/ws/HttpClientUtils.java index c416aa5..b19d606 100644 --- a/src/jalview/ws/HttpClientUtils.java +++ b/src/jalview/ws/HttpClientUtils.java @@ -43,6 +43,7 @@ import org.apache.http.entity.mime.content.StringBody; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.CoreProtocolPNames; +import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; /** @@ -65,12 +66,22 @@ public class HttpClientUtils * @throws Exception */ public static BufferedReader doHttpUrlPost(String postUrl, - List vals) throws ClientProtocolException, - IOException + List vals, int connectionTimeoutMs, + int readTimeoutMs) throws ClientProtocolException, IOException { + // todo use HttpClient 4.3 or later and class RequestConfig HttpParams params = new BasicHttpParams(); params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1); + if (connectionTimeoutMs > 0) + { + HttpConnectionParams.setConnectionTimeout(params, + connectionTimeoutMs); + } + if (readTimeoutMs > 0) + { + HttpConnectionParams.setSoTimeout(params, readTimeoutMs); + } HttpClient httpclient = new DefaultHttpClient(params); HttpPost httppost = new HttpPost(postUrl); UrlEncodedFormEntity ue = new UrlEncodedFormEntity(vals, "UTF-8"); @@ -80,8 +91,8 @@ public class HttpClientUtils if (resEntity != null) { - BufferedReader r = new BufferedReader(new InputStreamReader( - resEntity.getContent())); + BufferedReader r = new BufferedReader( + new InputStreamReader(resEntity.getContent())); return r; } else @@ -103,8 +114,8 @@ public class HttpClientUtils mpe.addPart(nvp.getName(), new StringBody(nvp.getValue())); } - FileBody fb = new FileBody(file, mtype != null ? mtype - : "application/octet-stream"); + FileBody fb = new FileBody(file, + mtype != null ? mtype : "application/octet-stream"); mpe.addPart(fparm, fb); UrlEncodedFormEntity ue = new UrlEncodedFormEntity(vals, "UTF-8"); httppost.setEntity(ue); @@ -113,8 +124,8 @@ public class HttpClientUtils if (resEntity != null) { - BufferedReader r = new BufferedReader(new InputStreamReader( - resEntity.getContent())); + BufferedReader r = new BufferedReader( + new InputStreamReader(resEntity.getContent())); return r; } else @@ -125,8 +136,8 @@ public class HttpClientUtils public static BufferedReader doHttpMpartInputstreamPost(String postUrl, List vals, String fparm, String fname, - InputStream is, String mtype) throws ClientProtocolException, - IOException + InputStream is, String mtype) + throws ClientProtocolException, IOException { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(postUrl); @@ -136,8 +147,9 @@ public class HttpClientUtils mpe.addPart(nvp.getName(), new StringBody(nvp.getValue())); } - InputStreamBody fb = (mtype != null) ? new InputStreamBody(is, fname, - mtype) : new InputStreamBody(is, fname); + InputStreamBody fb = (mtype != null) + ? new InputStreamBody(is, fname, mtype) + : new InputStreamBody(is, fname); mpe.addPart(fparm, fb); UrlEncodedFormEntity ue = new UrlEncodedFormEntity(vals, "UTF-8"); httppost.setEntity(ue); @@ -146,8 +158,8 @@ public class HttpClientUtils if (resEntity != null) { - BufferedReader r = new BufferedReader(new InputStreamReader( - resEntity.getContent())); + BufferedReader r = new BufferedReader( + new InputStreamReader(resEntity.getContent())); return r; } else