Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.net.URLEncoder;
- import java.util.ArrayList;
- 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.HttpDelete;
- import org.apache.http.client.methods.HttpGet;
- import org.apache.http.client.methods.HttpPost;
- import org.apache.http.client.methods.HttpPut;
- import org.apache.http.client.methods.HttpUriRequest;
- import org.apache.http.impl.client.DefaultHttpClient;
- import org.apache.http.message.BasicNameValuePair;
- import org.apache.http.protocol.HTTP;
- /**
- * Simple REST Client, able to do GET, POST, PUT, DELETE
- * HTTP Request
- */
- public class RestClient {
- private ArrayList<NameValuePair> params;
- private ArrayList<NameValuePair> headers;
- private String url;
- private int responseCode;
- private String message;
- private String response;
- private HttpClient client = new DefaultHttpClient();
- public enum RequestMethod {
- GET,
- POST,
- PUT,
- DELETE
- }
- public String getResponse() {
- return response;
- }
- public String getErrorMessage() {
- return message;
- }
- public int getResponseCode() {
- return responseCode;
- }
- public RestClient(String url) {
- this.url = url;
- params = new ArrayList<NameValuePair>();
- headers = new ArrayList<NameValuePair>();
- }
- public RestClient(){
- params = new ArrayList<NameValuePair>();
- headers = new ArrayList<NameValuePair>();
- }
- public void AddParam(String name, String value) {
- params.add(new BasicNameValuePair(name, value));
- }
- public void AddHeader(String name, String value) {
- headers.add(new BasicNameValuePair(name, value));
- }
- public void setParams(ArrayList<NameValuePair> params){
- this.params = params;
- }
- public void setUrl(String url){
- this.url = url;
- }
- public void Execute(RequestMethod method) throws Exception {
- switch (method) {
- case GET: {
- //add parameters
- String combinedParams = "";
- if (!params.isEmpty()) {
- combinedParams += "?";
- for (NameValuePair p : params) {
- String paramString = p.getName() + "=" + URLEncoder.encode(p.getValue(),"UTF_8");
- if (combinedParams.length() > 1) {
- combinedParams += "&" + paramString;
- } else {
- combinedParams += paramString;
- }
- }
- }
- HttpGet request = new HttpGet(url + combinedParams);
- //add headers
- for (NameValuePair h : headers) {
- request.addHeader(h.getName(), h.getValue());
- }
- executeRequest(request, url);
- break;
- }
- case POST: {
- HttpPost request = new HttpPost(url);
- //add headers
- for (NameValuePair h : headers) {
- request.addHeader(h.getName(), h.getValue());
- }
- if (!params.isEmpty()) {
- request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
- }
- executeRequest(request, url);
- break;
- }
- case PUT: {
- HttpPut request = new HttpPut(url);
- executeRequest(request, url);
- break;
- }
- case DELETE: {
- HttpDelete request = new HttpDelete(url);
- executeRequest(request, url);
- break;
- }
- }
- }
- private void executeRequest(HttpUriRequest request, String url) {
- HttpResponse httpResponse;
- try {
- httpResponse = client.execute(request);
- responseCode = httpResponse.getStatusLine().getStatusCode();
- message = httpResponse.getStatusLine().getReasonPhrase();
- HttpEntity entity = httpResponse.getEntity();
- if (entity != null) {
- InputStream instream = entity.getContent();
- response = convertStreamToString(instream);
- // Closing the input stream will trigger connection release
- instream.close();
- }
- } catch (ClientProtocolException e) {
- client.getConnectionManager().shutdown();
- e.printStackTrace();
- } catch (IOException e) {
- client.getConnectionManager().shutdown();
- e.printStackTrace();
- }
- }
- private static String convertStreamToString(InputStream is) {
- BufferedReader reader = new BufferedReader(new InputStreamReader(is));
- StringBuilder sb = new StringBuilder();
- String line = null;
- try {
- while ((line = reader.readLine()) != null) {
- android.util.Log.d(Properties.DEBUG_TAG, line);
- sb.append((line + "\n"));
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- is.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return sb.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement