package com.splunk.mint.network.http;

import com.splunk.mint.Logger;
import com.splunk.mint.network.util.ReflectionUtil;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.net.Proxy;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLStreamHandler;

public abstract class URLStreamHandlerBase extends URLStreamHandler
{
  static final Class<?>[] PROXY_FIELD_TYPES = arrayOfClass2;
  static final Class<?>[] SIMPLE_FIELD_TYPES;
  private Constructor<?> proxyConstructor;
  private Constructor<?> simpleConstructor;

  static
  {
    Class[] arrayOfClass1 = new Class[2];
    arrayOfClass1[0] = URL.class;
    arrayOfClass1[1] = Integer.TYPE;
    SIMPLE_FIELD_TYPES = arrayOfClass1;
    Class[] arrayOfClass2 = new Class[3];
    arrayOfClass2[0] = URL.class;
    arrayOfClass2[1] = Integer.TYPE;
    arrayOfClass2[2] = Proxy.class;
  }

  public URLStreamHandlerBase(String[] paramArrayOfString)
    throws ClassNotFoundException
  {
    initConstructors(paramArrayOfString);
    if ((this.proxyConstructor == null) || (this.simpleConstructor == null))
      throw new ClassNotFoundException("No implementation detected");
  }

  private void initConstructors(String[] paramArrayOfString)
  {
    int i = paramArrayOfString.length;
    int j = 0;
    while (true)
    {
      String str;
      if (j < i)
        str = paramArrayOfString[j];
      try
      {
        this.proxyConstructor = ReflectionUtil.findConstructor(str, PROXY_FIELD_TYPES);
        if (this.proxyConstructor != null);
        this.simpleConstructor = ReflectionUtil.findConstructor(str, SIMPLE_FIELD_TYPES);
        if (this.simpleConstructor != null);
        this.proxyConstructor.setAccessible(true);
        this.simpleConstructor.setAccessible(true);
        return;
      }
      catch (ClassNotFoundException localClassNotFoundException)
      {
        this.proxyConstructor = null;
        this.simpleConstructor = null;
        j++;
      }
    }
  }

  public abstract int getDefaultPort();

  public abstract String getProtocol();

  protected URLConnection openConnection(URL paramURL)
    throws IOException
  {
    try
    {
      Constructor localConstructor = this.simpleConstructor;
      Object[] arrayOfObject = new Object[2];
      arrayOfObject[0] = paramURL;
      arrayOfObject[1] = Integer.valueOf(getDefaultPort());
      URLConnection localURLConnection = (URLConnection)localConstructor.newInstance(arrayOfObject);
      return localURLConnection;
    }
    catch (InstantiationException localInstantiationException)
    {
      Logger.logError("Error initializing connection - can't instantiate object: " + localInstantiationException.getMessage());
      throw new IOException();
    }
    catch (IllegalAccessException localIllegalAccessException)
    {
      Logger.logError("Error initializing connection - can't access constructor: " + localIllegalAccessException.getMessage());
      throw new IOException();
    }
    catch (IllegalArgumentException localIllegalArgumentException)
    {
      Logger.logError("Error initializing connection - invalid argument: " + localIllegalArgumentException.getMessage());
      throw new IOException();
    }
    catch (InvocationTargetException localInvocationTargetException)
    {
      Logger.logError("Error initializing connection - can't invoke target: " + localInvocationTargetException.getMessage());
    }
    throw new IOException();
  }

  protected URLConnection openConnection(URL paramURL, Proxy paramProxy)
    throws IOException
  {
    if (paramProxy == null)
      return openConnection(paramURL);
    try
    {
      Constructor localConstructor = this.proxyConstructor;
      Object[] arrayOfObject = new Object[3];
      arrayOfObject[0] = paramURL;
      arrayOfObject[1] = Integer.valueOf(getDefaultPort());
      arrayOfObject[2] = paramProxy;
      URLConnection localURLConnection = (URLConnection)localConstructor.newInstance(arrayOfObject);
      return localURLConnection;
    }
    catch (InstantiationException localInstantiationException)
    {
      Logger.logError("Error initializing connection - can't instantiate object: " + localInstantiationException.getMessage());
      throw new IOException();
    }
    catch (IllegalAccessException localIllegalAccessException)
    {
      Logger.logError("Error initializing connection - can't access constructor: " + localIllegalAccessException.getMessage());
      throw new IOException();
    }
    catch (IllegalArgumentException localIllegalArgumentException)
    {
      Logger.logError("Error initializing connection - invalid argument: " + localIllegalArgumentException.getMessage());
      throw new IOException();
    }
    catch (InvocationTargetException localInvocationTargetException)
    {
      Logger.logError("Error initializing connection - can't invoke target: " + localInvocationTargetException.getMessage());
    }
    throw new IOException();
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.splunk.mint.network.http.URLStreamHandlerBase
 * JD-Core Version:    0.6.2
 */