From 23a5ed32b702d4d3682b8cdc8fd8e3f238202f7d Mon Sep 17 00:00:00 2001 From: jprocter Date: Mon, 20 Aug 2012 16:11:37 +0100 Subject: [PATCH] JAL-1028 utilities package for accessing synchronous web services with apache's HTTP Client --- src/jalview/ws/HttpClientUtils.java | 58 +++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/jalview/ws/HttpClientUtils.java diff --git a/src/jalview/ws/HttpClientUtils.java b/src/jalview/ws/HttpClientUtils.java new file mode 100644 index 0000000..d018eab --- /dev/null +++ b/src/jalview/ws/HttpClientUtils.java @@ -0,0 +1,58 @@ +package jalview.ws; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.List; + +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.NameValuePair; +import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.HttpClient; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.DefaultHttpClient; + +/** + * Helpful procedures for working with services via HTTPClient + * @author jimp + * + */ +public class HttpClientUtils +{ + /** + * do a minimal HTTP post with URL-Encoded parameters passed in the Query + * string + * + * @param postUrl + * @param vals + * @return Reader containing content, if any, or null if no entity returned. + * @throws IOException + * @throws ClientProtocolException + * @throws Exception + */ + public static BufferedReader doHttpUrlPost(String postUrl, + List vals) throws ClientProtocolException, + IOException + { + HttpClient httpclient = new DefaultHttpClient(); + HttpPost httppost = new HttpPost(postUrl); + UrlEncodedFormEntity ue = new UrlEncodedFormEntity(vals, "UTF-8"); + httppost.setEntity(ue); + HttpResponse response = httpclient.execute(httppost); + HttpEntity resEntity = response.getEntity(); + + if (resEntity != null) + { + BufferedReader r = new BufferedReader(new InputStreamReader( + resEntity.getContent())); + return r; + } + else + { + return null; + } + } + +} -- 1.7.10.2