Network Android

//package com.filmatchs.utils;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpEntityEnclosingRequest;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.ClientProtocolException;
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.conn.scheme.PlainSocketFactory;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import android.util.Log;
public class NewHttpClientManager {
  public static String LOG_TAG = "NewHttpClientManager";
  public static int METHOD_GET = 1;
  public static int METHOD_POST = 2;
  public static int METHOD_PUT = 3;
  public static int METHOD_DELETE = 4;
  private String result = "";
  /**
   * Do an HttpClient connection and store the result, the result could be
   * returned with getResult()
   * 
   * @param url
   * @param method
   * @param headers
   * @param entity
   * @param credential
   */
  public NewHttpClientManager(String url, int method,
      ArrayList
 headers, HttpEntity entity,
      UsernamePasswordCredentials credential)
      throws ClientProtocolException, IOException {
    try {
      result = connectResponse(url, method, headers, entity, credential, null);
    } catch (ClientProtocolException ex) {
      Log.e(LOG_TAG, "ClientProtocol Exception");
      ex.printStackTrace();
    } catch (IOException ex) {
      Log.e(LOG_TAG, "IO Exception");
      ex.printStackTrace();
    }
  }
  
  public NewHttpClientManager(String url, int method,
      ArrayList
 headers, HttpEntity entity,
      UsernamePasswordCredentials credential, HttpHost host)
      throws ClientProtocolException, IOException {
    try {
      result = connectResponse(url, method, headers, entity, credential, host);
    } catch (ClientProtocolException ex) {
      Log.e(LOG_TAG, "ClientProtocol Exception");
      ex.printStackTrace();
    } catch (IOException ex) {
      Log.e(LOG_TAG, "IO Exception");
      ex.printStackTrace();
    }
  }
  /**
   * Do an HttpClient Connection, then returns the result
   * 
   * 
   * @param url
   * @param method
   * @param headers
   * @param entity
   * @param credential
   * @return
   * @throws ClientProtocolException
   * @throws IOException
   */
  public static String connectResponse(String url, int method,
      List
 headers, HttpEntity entity,
      UsernamePasswordCredentials credential, HttpHost host)
      throws ClientProtocolException, IOException {
    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpResponse response;
    String retval = null;
    HttpEntityEnclosingRequest heer = null;
    // setting scheme for http/https
    final SSLSocketFactory sslSocketFactory = SSLSocketFactory
        .getSocketFactory();
    sslSocketFactory
        .setHostnameVerifier(SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
    httpClient.getConnectionManager().getSchemeRegistry().register(
        new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
    httpClient.getConnectionManager().getSchemeRegistry().register(
        new Scheme("https", sslSocketFactory, 443));
    if (method == METHOD_POST) {
      // ------------------ POST
      Log.d(LOG_TAG, "POST to " + url);
      heer = new HttpPost(url);
      // Setting Entity if provided
      if (entity != null) {
        Log.d(LOG_TAG, "ENTITY PROVIDED");
        heer.setEntity(entity);
      }
      // Setting Headers if provided
      if (headers != null) {
        Log.d(LOG_TAG, "HEADERS PROVIDED");
        for (Header header : headers) {
          heer.setHeader(header);
        }
      }
      // Setting Credentials if provided
      if (credential != null) {
        Log.d(LOG_TAG, "CREDENTIAL PROVIDED : "
            + credential.getUserName() + ":"
            + credential.getPassword());
        httpClient.getCredentialsProvider().setCredentials(
            new AuthScope(AuthScope.ANY), credential);
      }
      // execute the request
      if (host != null) {
        response = httpClient.execute(host, (HttpPost) heer);
      } else {
        response = httpClient.execute((HttpPost) heer);
      }
    } else if (method == METHOD_PUT) {
      // ------------------ PUT
      response = httpClient.execute(new HttpPut(url));
    } else if (method == METHOD_DELETE) {
      // ------------------ DELETE
      response = httpClient.execute(new HttpDelete(url));
    } else {
      // ------------------ GET (DEFAULT: IF NOT POST, PUT, DELETE)
      response = httpClient.execute(new HttpGet(url));
    }
    Log.d(LOG_TAG, "StatusLine " + response.getStatusLine());
    // Setting the response entity
    entity = response.getEntity();
    // if entity is not null, then print it to the return value
    if (entity != null) {
      InputStream instream = entity.getContent();
      String result = convertStreamToString(instream);
      retval = result;
      instream.close();
    }
    // return it!
    return retval;
  }
  public 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) {
        sb.append(line + "\n");
      }
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      try {
        is.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
    return sb.toString();
  }
  /**
   * Get response of the HttpClient Connection
   * 
   * @return
   */
  public String getResult() {
    return result;
  }
}