package com.tealium.library;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
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.HttpHead;
import org.apache.http.client.methods.HttpOptions;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.client.methods.HttpTrace;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicHeader;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;

final class af extends RemoteCommand
{
  public af()
  {
    super("_http", "Perform a native HTTP operation.");
  }

  private static String a(String paramString, JSONObject paramJSONObject)
    throws JSONException
  {
    JSONObject localJSONObject = paramJSONObject.optJSONObject("authenticate");
    if (localJSONObject == null);
    String str1;
    String str2;
    do
    {
      return paramString;
      str1 = localJSONObject.optString("username");
      str2 = localJSONObject.optString("password");
    }
    while ((str1 == null) || (str2 == null));
    String str3;
    if (paramString.startsWith("http://"))
      str3 = "http://";
    try
    {
      while (true)
      {
        Locale localLocale = Locale.ROOT;
        Object[] arrayOfObject = new Object[4];
        arrayOfObject[0] = str3;
        arrayOfObject[1] = URLEncoder.encode(str1, "UTF-8");
        arrayOfObject[2] = URLEncoder.encode(str2, "UTF-8");
        arrayOfObject[3] = paramString.substring(str3.length());
        String str4 = String.format(localLocale, "%s%s:%s@%s", arrayOfObject);
        return str4;
        if (!paramString.startsWith("https://"))
          break;
        str3 = "https://";
      }
      throw new JSONException("Unsupported URL protocol.");
    }
    catch (UnsupportedEncodingException localUnsupportedEncodingException)
    {
    }
    return paramString;
  }

  private void a(String paramString, JSONObject paramJSONObject, final HttpRequestBase paramHttpRequestBase)
  {
    JSONObject localJSONObject = paramJSONObject.optJSONObject("headers");
    if (localJSONObject != null)
    {
      Iterator localIterator = localJSONObject.keys();
      while (localIterator.hasNext())
      {
        String str = (String)localIterator.next();
        paramHttpRequestBase.addHeader(new BasicHeader(str, localJSONObject.optString(str, "")));
      }
    }
    new Thread(new Runnable()
    {
      public final void run()
      {
        DefaultHttpClient localDefaultHttpClient = new DefaultHttpClient();
        try
        {
          HttpResponse localHttpResponse = localDefaultHttpClient.execute(paramHttpRequestBase);
          HttpEntity localHttpEntity = localHttpResponse.getEntity();
          af localaf = af.this;
          int i = localHttpResponse.getStatusLine().getStatusCode();
          if (localHttpEntity == null);
          String str;
          for (Object localObject = null; ; localObject = str)
          {
            localaf.setResult(i, (String)localObject);
            return;
            str = EntityUtils.toString(localHttpEntity);
          }
        }
        catch (Throwable localThrowable)
        {
          af.this.setResult(RemoteCommand.RESULT_EXCEPTION_THROWN, ad.a(localThrowable));
          X.a(localThrowable);
        }
      }
    }).start();
  }

  private static String b(String paramString, JSONObject paramJSONObject)
    throws JSONException
  {
    JSONObject localJSONObject = paramJSONObject.optJSONObject("parameters");
    if (localJSONObject == null)
      return paramString;
    Iterator localIterator = localJSONObject.keys();
    StringBuilder localStringBuilder = new StringBuilder();
    try
    {
      while (localIterator.hasNext())
      {
        String str2 = (String)localIterator.next();
        String str3 = localJSONObject.get(str2).toString();
        if (localStringBuilder.length() > 0)
          localStringBuilder.append('&');
        localStringBuilder.append(URLEncoder.encode(str2, "UTF-8")).append('=').append(URLEncoder.encode(str3, "UTF-8"));
      }
      if (paramString.indexOf('?') > 0);
      for (char c = '&'; ; c = '?')
      {
        localStringBuilder.insert(0, c);
        String str1 = localStringBuilder.insert(0, paramString).toString();
        return str1;
      }
    }
    catch (UnsupportedEncodingException localUnsupportedEncodingException)
    {
    }
    return paramString;
  }

  private static HttpEntity b(JSONObject paramJSONObject)
    throws JSONException, UnsupportedEncodingException
  {
    Object localObject = paramJSONObject.opt("body");
    if ((localObject instanceof JSONObject))
    {
      JSONObject localJSONObject = (JSONObject)localObject;
      Iterator localIterator = localJSONObject.keys();
      ArrayList localArrayList = new ArrayList(localJSONObject.length());
      while (localIterator.hasNext())
      {
        String str = (String)localIterator.next();
        localArrayList.add(new BasicNameValuePair(str, localJSONObject.optString(str, "")));
      }
      return new UrlEncodedFormEntity(localArrayList);
    }
    if ((localObject instanceof String))
      return new StringEntity((String)localObject);
    if (localObject == null)
      return new StringEntity("");
    return new StringEntity(localObject.toString());
  }

  public final void onRemoteCommandInvoke(JSONObject paramJSONObject)
    throws Throwable
  {
    String str1 = paramJSONObject.optString("url", null);
    String str2 = paramJSONObject.optString("method", null);
    if ((str1 == null) || (str2 == null))
    {
      setResult(RESULT_BAD_REQUEST, String.format(Locale.ROOT, "Missing required keys \"%s\" or \"%s\".", new Object[] { "method", "url" }));
      return;
    }
    String str3 = b(a(str1, paramJSONObject), paramJSONObject);
    String str4 = str2.toUpperCase(Locale.ROOT);
    if ("GET".equals(str4))
    {
      a(str3, paramJSONObject, new HttpGet(str3));
      return;
    }
    if ("POST".equals(str4))
    {
      HttpPost localHttpPost = new HttpPost(str3);
      localHttpPost.setEntity(b(paramJSONObject));
      a(str3, paramJSONObject, localHttpPost);
      return;
    }
    if ("PUT".equals(str4))
    {
      HttpPut localHttpPut = new HttpPut(str3);
      localHttpPut.setEntity(b(paramJSONObject));
      a(str3, paramJSONObject, localHttpPut);
      return;
    }
    if ("DELETE".equals(str4))
    {
      a(str3, paramJSONObject, new HttpDelete(str3));
      return;
    }
    if ("TRACE".equals(str4))
    {
      a(str3, paramJSONObject, new HttpTrace(str3));
      return;
    }
    if ("OPTIONS".equals(str4))
    {
      a(str3, paramJSONObject, new HttpOptions(str3));
      return;
    }
    if ("HEAD".equals(str4))
    {
      a(str3, paramJSONObject, new HttpHead(str3));
      return;
    }
    setResult(RESULT_BAD_REQUEST, String.format(Locale.ROOT, "Unable to process \"%s\" HTTP method.", new Object[] { str4 }));
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.tealium.library.af
 * JD-Core Version:    0.6.2
 */