title: Apache HTTPGet behaving weirdly in Android
body: <p>I am trying to perform a simple get request using Apache HTTPClient however it seems as if all the code after the HTTPResponse response = client.execute(get); is being skipped. I am not able to access the contents of the response object,they are all null. However when I use debug mode and I explore the object I see all the data. This function is wrapped in an async task so I am wondering the task itself is not waiting on it to be executed or something I am not sure.</p>
  
  <p><strong>Something similar happened here:</strong>
  <a href="https://stackoverflow.com/questions/15535988/android-code-after-httpclient-executehttpget-doesnt-get-run-in-try-using-asy">Android code after httpclient.execute(httpget) doesn&#39;t get run in try (using AsyncTask)</a></p>
  
  <p>Here is the code.</p>
  
  <pre><code> @Override
  public T execute()
  {
      utils = new GeneralUtils();
      if(getURL() == null)
      {
          throw new NullPointerException("No path specified");
      }
      HttpClient client = new DefaultHttpClient();
      HttpGet get = new HttpGet(getURL());
  
      Log.e(TAG,"client created");
      if(getHeaders()!=null)
      {
          Log.e(TAG,"client created");
          for(Map.Entry&lt;String,String&gt; header:getHeaders().entrySet())
          {
              get.addHeader(header.getKey(),header.getValue());
          }
      }
  
      try
      {
          HttpResponse response = client.execute(get);
          Log.e(TAG,"executed");
  
          if(response==null)
              Log.v(TAG,"its null as heell");
  
          Log.v(TAG,response.getStatusLine().getReasonPhrase());
          Log.v(TAG,String.valueOf(response.getStatusLine().getStatusCode()));
          Log.e(TAG,getURL());
  
          Log.v(TAG,"everything else is dead");
  
          for(Header header:response.getAllHeaders())
          {
              Log.v(TAG,header.getName()+" "+header.getValue());
          }
  
          if(response.getStatusLine().getStatusCode() == 200)
          {
              if(response.getEntity().getContent()!=null)
              {
  
                  try
                  {
                      if(utils.isExternalStorageWritable())
                      {
                          String path = getContext().getFilesDir().getAbsolutePath()+"/"+getFileCategory()+"/" +getAlarmId()+getFileExtension();
                          media = new File(path);
  
                          /**
                           * if the directory has not being created this function does the creation.
                           */
  
                          media.mkdirs();
  
                          FileOutputStream fileOutputStream = new FileOutputStream(media);
                          IOUtils.copy(response.getEntity().getContent(),fileOutputStream);
                          fileOutputStream.close();
  
                          Log.e(TAG,media.getAbsolutePath());
  
                          return (T)media;
  
                      }
                      return null;
  
  
                  }
                  catch (ClientProtocolException e)
                  {
                      Log.v(TAG,e.getMessage());
                  }
                  catch (IOException e)
                  {
                      Log.v(TAG,e.getMessage());
                  }
              }
  
          }
      }
      catch (IOException e)
      {
          Log.e(TAG, e.getCause().getMessage());
          e.printStackTrace();
      }
  
      return null;
  }
  </code></pre>
  
  <p>The code is not throwing any exceptions so I am not sure about what's happening.
  All the code after the response object does not work. It just returns null, As in as soon as I try to obtain a value from response like so response.getStatusCode(), it seems as if the code goes dead and just returns null.</p>