package com.l7tech.common.http;

import com.l7tech.common.mime.ContentTypeHeader;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import org.jetbrains.annotations.NotNull;

public class GenericHttpRequestParams {
   private URL a;
   private GenericHttpState b;
   private PasswordAuthentication c = null;
   private NtlmAuthentication d = null;
   private SSLSocketFactory e = null;
   private HostnameVerifier f = null;
   private ContentTypeHeader g = null;
   private Long h = null;
   private List<HttpHeader> i = null;
   private boolean j = true;
   private boolean k = false;
   private boolean l = true;
   private boolean m = false;
   private boolean n = false;
   private GenericHttpRequestParams.HttpVersion o = GenericHttpRequestParams.HttpVersion.HTTP_VERSION_1_1;
   private String p;
   private int q = -1;
   private int r = -1;
   private int s = -1;
   private String t;
   private int u;
   private PasswordAuthentication v;
   private boolean w;
   private SSLContext x;
   private String y;
   private boolean z = false;
   private boolean A = false;
   private String[] B;
   private String[] C;
   private boolean D;
   private static final String[] E;

   public GenericHttpRequestParams() {
   }

   public GenericHttpRequestParams(URL var1) {
      this();
      this.a = var1;
   }

   public GenericHttpRequestParams(URL var1, GenericHttpState var2) {
      this(var1);
      this.b = var2;
   }

   public GenericHttpRequestParams(GenericHttpRequestParams var1) {
      this.a = var1.a;
      this.b = var1.b;
      this.c = var1.c;
      this.d = var1.d;
      this.e = var1.e;
      this.f = var1.f;
      this.g = var1.g;
      this.h = var1.h;
      this.i = var1.i == null ? null : new ArrayList<>(var1.i);
      this.j = var1.j;
      this.k = var1.k;
      this.l = var1.l;
      this.m = var1.m;
      this.n = var1.n;
      this.o = var1.o;
      this.q = var1.q;
      this.r = var1.r;
      this.s = var1.s;
      this.t = var1.t;
      this.u = var1.u;
      this.v = var1.v;
      this.w = var1.w;
      this.x = var1.x;
      this.y = var1.y;
      this.B = var1.B;
      this.C = var1.C;
      this.D = var1.D;
   }

   public GenericHttpState getState() {
      return this.b;
   }

   public void setState(GenericHttpState var1) {
      this.b = var1;
   }

   public boolean isEnableCookieManagement() {
      return this.D;
   }

   public void setEnableCookieManagement(boolean var1) {
      this.D = var1;
   }

   public URL getTargetUrl() {
      return this.a;
   }

   public void setTargetUrl(URL var1) {
      this.a = var1;
   }

   public PasswordAuthentication getPasswordAuthentication() {
      return this.c;
   }

   public void setPasswordAuthentication(PasswordAuthentication var1) {
      this.c = var1;
   }

   public NtlmAuthentication getNtlmAuthentication() {
      return this.d;
   }

   public void setNtlmAuthentication(NtlmAuthentication var1) {
      this.d = var1;
   }

   public boolean isPreemptiveAuthentication() {
      return this.j;
   }

   public void setPreemptiveAuthentication(boolean var1) {
      this.j = var1;
   }

   public SSLSocketFactory getSslSocketFactory() {
      return this.e;
   }

   public void setSslSocketFactory(SSLSocketFactory var1) {
      this.e = var1;
   }

   public HostnameVerifier getHostnameVerifier() {
      return this.f;
   }

   public void setHostnameVerifier(HostnameVerifier var1) {
      this.f = var1;
   }

   public ContentTypeHeader getContentType() {
      return this.g;
   }

   public void setContentType(ContentTypeHeader var1) {
      this.g = var1;
   }

   public Long getContentLength() {
      return this.h;
   }

   public void setContentLength(Long var1) {
      this.h = var1;
   }

   public List<HttpHeader> getExtraHeaders() {
      try {
         if (this.i == null) {
            return Collections.emptyList();
         }
      } catch (IllegalArgumentException var1) {
         throw a(var1);
      }

      return this.i;
   }

   public boolean isFollowRedirects() {
      return this.k;
   }

   public void setFollowRedirects(boolean var1) {
      this.k = var1;
   }

   public boolean isUseExpectContinue() {
      return this.m;
   }

   public void setUseExpectContinue(boolean var1) {
      this.m = var1;
   }

   public boolean isUseKeepAlives() {
      return this.l;
   }

   public void setUseKeepAlives(boolean var1) {
      this.l = var1;
   }

   public boolean isGzipEncode() {
      return this.n;
   }

   public void setGzipEncode(boolean var1) {
      this.n = var1;
   }

   public GenericHttpRequestParams.HttpVersion getHttpVersion() {
      return this.o;
   }

   public void setHttpVersion(GenericHttpRequestParams.HttpVersion var1) {
      this.o = var1;
   }

   public int getConnectionTimeout() {
      return this.q;
   }

   public void setConnectionTimeout(int var1) {
      this.q = var1;
   }

   public int getReadTimeout() {
      return this.r;
   }

   public void setReadTimeout(int var1) {
      this.r = var1;
   }

   public int getMaxRetries() {
      return this.s;
   }

   public void setMaxRetries(int var1) {
      this.s = var1;
   }

   public String getProxyHost() {
      return this.t;
   }

   public void setProxyHost(String var1) {
      this.t = var1;
   }

   public int getProxyPort() {
      return this.u;
   }

   public void setProxyPort(int var1) {
      this.u = var1;
   }

   public PasswordAuthentication getProxyAuthentication() {
      return this.v;
   }

   public void setProxyAuthentication(PasswordAuthentication var1) {
      this.v = var1;
   }

   public String getVirtualHost() {
      return this.p;
   }

   public void setVirtualHost(String var1) {
      this.p = var1;
   }

   public void setExtraHeaders(HttpHeader[] var1) {
      GenericHttpRequestParams var10000;
      ArrayList var10001;
      label16: {
         try {
            var10000 = this;
            if (var1 != null) {
               var10001 = new ArrayList<>(Arrays.asList(var1));
               break label16;
            }
         } catch (IllegalArgumentException var2) {
            throw a(var2);
         }

         var10001 = null;
      }

      var10000.i = var10001;
   }

   public void addExtraHeader(HttpHeader var1) {
      try {
         if (this.i == null) {
            this.i = new ArrayList<>();
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      this.i.add(var1);
   }

   public void replaceExtraHeader(HttpHeader param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getfield com/l7tech/common/http/GenericHttpRequestParams.i Ljava/util/List;
      // 04: ifnull 1b
      // 07: aload 0
      // 08: getfield com/l7tech/common/http/GenericHttpRequestParams.i Ljava/util/List;
      // 0b: invokeinterface java/util/List.size ()I 1
      // 10: bipush 1
      // 11: if_icmpge 25
      // 14: goto 1b
      // 17: invokestatic com/l7tech/common/http/GenericHttpRequestParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 1a: athrow
      // 1b: aload 0
      // 1c: aload 1
      // 1d: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.addExtraHeader (Lcom/l7tech/common/http/HttpHeader;)V
      // 20: return
      // 21: invokestatic com/l7tech/common/http/GenericHttpRequestParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 24: athrow
      // 25: aload 1
      // 26: invokeinterface com/l7tech/common/http/HttpHeader.getName ()Ljava/lang/String; 1
      // 2b: astore 2
      // 2c: new java/util/ArrayList
      // 2f: dup
      // 30: invokespecial java/util/ArrayList.<init> ()V
      // 33: astore 3
      // 34: aload 0
      // 35: getfield com/l7tech/common/http/GenericHttpRequestParams.i Ljava/util/List;
      // 38: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 3d: astore 4
      // 3f: aload 4
      // 41: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 46: ifeq 76
      // 49: aload 4
      // 4b: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 50: checkcast com/l7tech/common/http/HttpHeader
      // 53: astore 5
      // 55: aload 5
      // 57: invokeinterface com/l7tech/common/http/HttpHeader.getName ()Ljava/lang/String; 1
      // 5c: aload 2
      // 5d: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 60: ifne 73
      // 63: aload 3
      // 64: aload 5
      // 66: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 6b: pop
      // 6c: goto 73
      // 6f: invokestatic com/l7tech/common/http/GenericHttpRequestParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 72: athrow
      // 73: goto 3f
      // 76: aload 3
      // 77: aload 1
      // 78: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 7d: pop
      // 7e: aload 0
      // 7f: aload 3
      // 80: putfield com/l7tech/common/http/GenericHttpRequestParams.i Ljava/util/List;
      // 83: return
      // try (0 -> 8): 9 java/lang/IllegalArgumentException
      // try (3 -> 15): 15 java/lang/IllegalArgumentException
      // try (35 -> 44): 45 java/lang/IllegalArgumentException
   }

   public boolean removeExtraHeader(String param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getfield com/l7tech/common/http/GenericHttpRequestParams.i Ljava/util/List;
      // 04: ifnull 1b
      // 07: aload 0
      // 08: getfield com/l7tech/common/http/GenericHttpRequestParams.i Ljava/util/List;
      // 0b: invokeinterface java/util/List.size ()I 1
      // 10: bipush 1
      // 11: if_icmpge 21
      // 14: goto 1b
      // 17: invokestatic com/l7tech/common/http/GenericHttpRequestParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 1a: athrow
      // 1b: bipush 0
      // 1c: ireturn
      // 1d: invokestatic com/l7tech/common/http/GenericHttpRequestParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 20: athrow
      // 21: bipush 0
      // 22: istore 2
      // 23: new java/util/ArrayList
      // 26: dup
      // 27: invokespecial java/util/ArrayList.<init> ()V
      // 2a: astore 3
      // 2b: aload 0
      // 2c: getfield com/l7tech/common/http/GenericHttpRequestParams.i Ljava/util/List;
      // 2f: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 34: astore 4
      // 36: aload 4
      // 38: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 3d: ifeq 6b
      // 40: aload 4
      // 42: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 47: checkcast com/l7tech/common/http/HttpHeader
      // 4a: astore 5
      // 4c: aload 5
      // 4e: invokeinterface com/l7tech/common/http/HttpHeader.getName ()Ljava/lang/String; 1
      // 53: aload 1
      // 54: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 57: ifeq 5f
      // 5a: bipush 1
      // 5b: istore 2
      // 5c: goto 68
      // 5f: aload 3
      // 60: aload 5
      // 62: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 67: pop
      // 68: goto 36
      // 6b: aload 0
      // 6c: aload 3
      // 6d: putfield com/l7tech/common/http/GenericHttpRequestParams.i Ljava/util/List;
      // 70: iload 2
      // 71: ireturn
      // try (0 -> 8): 9 java/lang/IllegalArgumentException
      // try (3 -> 13): 13 java/lang/IllegalArgumentException
   }

   public GenericHttpRequestParams resolve(URL var1) {
      return this;
   }

   public boolean isForceIncludeRequestBody() {
      return this.w;
   }

   public void setForceIncludeRequestBody(boolean var1) {
      this.w = var1;
   }

   public boolean needsRequestBody(@NotNull HttpMethod param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: ifnonnull 0f
      // 04: bipush 0
      // 05: invokestatic com/l7tech/common/http/GenericHttpRequestParams.a (I)V
      // 08: goto 0f
      // 0b: invokestatic com/l7tech/common/http/GenericHttpRequestParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 0e: athrow
      // 0f: aload 1
      // 10: astore 2
      // 11: getstatic com/l7tech/common/http/HttpMethod.OTHER Lcom/l7tech/common/http/HttpMethod;
      // 14: aload 1
      // 15: if_acmpne 32
      // 18: aload 0
      // 19: getfield com/l7tech/common/http/GenericHttpRequestParams.y Ljava/lang/String;
      // 1c: ifnull 32
      // 1f: goto 26
      // 22: invokestatic com/l7tech/common/http/GenericHttpRequestParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 25: athrow
      // 26: aload 0
      // 27: getfield com/l7tech/common/http/GenericHttpRequestParams.y Ljava/lang/String;
      // 2a: invokestatic com/l7tech/common/http/HttpMethod.valueOf (Ljava/lang/String;)Lcom/l7tech/common/http/HttpMethod;
      // 2d: astore 2
      // 2e: goto 32
      // 31: astore 3
      // 32: aload 2
      // 33: invokevirtual com/l7tech/common/http/HttpMethod.needsRequestBody ()Z
      // 36: ifne 55
      // 39: aload 0
      // 3a: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.isForceIncludeRequestBody ()Z
      // 3d: ifeq 5d
      // 40: goto 47
      // 43: invokestatic com/l7tech/common/http/GenericHttpRequestParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 46: athrow
      // 47: aload 2
      // 48: invokevirtual com/l7tech/common/http/HttpMethod.canForceIncludeRequestBody ()Z
      // 4b: ifeq 5d
      // 4e: goto 55
      // 51: invokestatic com/l7tech/common/http/GenericHttpRequestParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 54: athrow
      // 55: bipush 1
      // 56: goto 5e
      // 59: invokestatic com/l7tech/common/http/GenericHttpRequestParams.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 5c: athrow
      // 5d: bipush 0
      // 5e: ireturn
      // try (9 -> 15): 16 java/lang/IllegalArgumentException
      // try (0 -> 4): 5 java/lang/IllegalArgumentException
      // try (18 -> 22): 23 java/lang/IllegalArgumentException
      // try (24 -> 30): 31 java/lang/IllegalArgumentException
      // try (27 -> 36): 37 java/lang/IllegalArgumentException
      // try (33 -> 41): 41 java/lang/IllegalArgumentException
   }

   public SSLContext getSslContext() {
      return this.x;
   }

   public void setSslContext(SSLContext var1) {
      this.x = var1;
   }

   public String getMethodAsString() {
      return this.y;
   }

   public void setMethodAsString(String var1) {
      this.y = var1;
   }

   public boolean isEnableAutoChallenge() {
      return this.z;
   }

   public void setEnableAutoChallenge(boolean var1) {
      this.z = var1;
   }

   public boolean isOmitHostHeader() {
      return this.A;
   }

   public void setOmitHostHeader(boolean var1) {
      this.A = var1;
   }

   public String[] getSupportedProtocols() {
      return this.B;
   }

   public void setSupportedProtocols(String[] var1) {
      this.B = var1;
   }

   public String[] getSupportedCiphers() {
      return this.C;
   }

   public void setSupportedCiphers(String[] var1) {
      this.C = var1;
   }

   private static IllegalArgumentException a(IllegalArgumentException var0) {
      return var0;
   }

   static {
      String[] var5 = new String[4];
      int var3 = 0;
      String var2 = "\u0004\u0003DueI\u001d\u0002\u000fAuj\u0011\u0004\n\u0003Gua\n\u001d\u0017Cn?g\u001b\u001b\u000e\u000fa.}\u000e;\u0002\u001d\\?z\n9\u0006\u001eH7z\u0010\t\tL>z,\f\u0016\u0019L)}<\u0006\u0003\u0015";
      int var4 = "\u0004\u0003DueI\u001d\u0002\u000fAuj\u0011\u0004\n\u0003Gua\n\u001d\u0017Cn?g\u001b\u001b\u000e\u000fa.}\u000e;\u0002\u001d\\?z\n9\u0006\u001eH7z\u0010\t\tL>z,\f\u0016\u0019L)}<\u0006\u0003\u0015"
         .length();
      char var1 = '/';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 49;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     E = var5;
                     return;
                  }

                  var1 = var2.charAt(var7);
                  break;
               default:
                  var5[var3++] = var8;
                  if ((var7 += var1) < var4) {
                     var1 = var2.charAt(var7);
                     continue label24;
                  }

                  var2 = "=>j\u0005Q->\u0011)y\u0018S,0${x\u0002Li\u001e\u001e4j#K%2p+\u007f\u001f_$;$>lM\u0019l-w{q\u000b\u001el-~~mMS<-${p\u0002Ji<5{p\u0018R%";
                  var4 = "=>j\u0005Q->\u0011)y\u0018S,0${x\u0002Li\u001e\u001e4j#K%2p+\u007f\u001f_$;$>lM\u0019l-w{q\u000b\u001el-~~mMS<-${p\u0002Ji<5{p\u0018R%"
                     .length();
                  var1 = 6;
                  var7 = -1;
            }

            var10000 = 6;
            var10001 = var2.substring(++var7, var7 + var1);
            var10002 = 0;
         }
      }
   }

   private static char[] a(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 88);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 86;
            case 1 -> 93;
            case 2 -> 24;
            case 3 -> 107;
            case 4 -> 56;
            case 5 -> 79;
            default -> 88;
         });
      }

      return new String(var10001).intern();
   }

   public enum HttpVersion {
      HTTP_VERSION_1_0,
      HTTP_VERSION_1_1;

      private String value;

      HttpVersion(String var3) {
         this.value = var3;
      }

      public String getValue() {
         return this.value;
      }

      // $VF: Failed to inline enum fields
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      static {
         String[] var0 = new String[4];
         int var4 = 0;
         String var3 = "kek\u0003kej";
         int var5 = "kek\u0003kej".length();
         char var2 = 3;
         int var7 = -1;

         label25:
         while (true) {
            byte var10000 = 32;
            String var10001 = var3.substring(++var7, var7 + var2);
            byte var10002 = -1;

            while (true) {
               String var8 = a(var10000, a(var10001));
               switch (var10002) {
                  case 0:
                     var0[var4++] = var8;
                     if ((var7 += var2) >= var5) {
                        HTTP_VERSION_1_0 = new GenericHttpRequestParams.HttpVersion(var0[0]);
                        HTTP_VERSION_1_1 = new GenericHttpRequestParams.HttpVersion(var0[1]);
                        return;
                     }

                     var2 = var3.charAt(var7);
                     break;
                  default:
                     var0[var4++] = var8;
                     if ((var7 += var2) < var5) {
                        var2 = var3.charAt(var7);
                        continue label25;
                     }

                     var3 = "\u0002\u000f\u001f.e\u0003{\u0018\b\u00021t\n\u000f\u0015k\u0010\u0002\u000f\u001f.e\u0003{\u0018\b\u00021t\n\u000f\u0015j";
                     var5 = "\u0002\u000f\u001f.e\u0003{\u0018\b\u00021t\n\u000f\u0015k\u0010\u0002\u000f\u001f.e\u0003{\u0018\b\u00021t\n\u000f\u0015j"
                        .length();
                     var2 = 16;
                     var7 = -1;
               }

               var10000 = 48;
               var10001 = var3.substring(++var7, var7 + var2);
               var10002 = 0;
            }
         }
      }

      private static char[] a(String var0) {
         char[] var10000 = var0.toCharArray();
         if (var10000.length < 2) {
            var10000[0] = (char)(var10000[0] ^ 14);
         }

         return var10000;
      }

      private static String a(int var0, char[] var1) {
         int var10003 = var1.length;
         int var10002 = var0;
         char[] var10001 = var1;
         int var10000 = var10003;

         for (int var2 = 0; var10000 > var2; var2++) {
            var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
               case 0 -> 122;
               case 1 -> 107;
               case 2 -> 123;
               case 3 -> 78;
               case 4 -> 10;
               case 5 -> 101;
               default -> 14;
            });
         }

         return new String(var10001).intern();
      }
   }
}
