+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<NameValuePair> 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;
+ }
+ }
+
+}