package com.l7tech.server.globalresources;

import com.l7tech.gateway.common.resources.HttpConfiguration;
import com.l7tech.gateway.common.resources.HttpProxyConfiguration;
import java.net.Authenticator;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.net.Authenticator.RequestorType;
import java.util.concurrent.atomic.AtomicReference;

final class s extends Authenticator {
   private final AtomicReference<i> a;

   private s(AtomicReference<i> var1) {
      this.a = var1;
   }

   @Override
   protected PasswordAuthentication getPasswordAuthentication() {
      PasswordAuthentication var1 = null;
      i var2 = this.a.get();
      RequestorType var3 = this.getRequestorType();
      URL var4 = this.getRequestingURL();
      String var5 = this.getRequestingHost();
      int var6 = this.getRequestingPort();
      if (var2 != null) {
         if (RequestorType.PROXY == var3) {
            HttpProxyConfiguration var7 = null;
            if (var4 != null) {
               var7 = var2.getHttpProxyConfiguration(var4);
            } else if (var5 != null) {
               var7 = var2.getHttpProxyConfiguration(null, var5, var6, null);
            }

            if (var7 != null && var7.getUsername() != null && var7.getPasswordGoid() != null) {
               var1 = new PasswordAuthentication(var7.getUsername(), var2.getPassword(var7.getPasswordGoid()));
            }
         } else if (RequestorType.SERVER == var3) {
            HttpConfiguration var9 = null;
            if (var4 != null) {
               var9 = var2.getHttpConfiguration(var4);
            } else if (var5 != null) {
               var9 = var2.getHttpConfiguration(null, var5, var6, null);
            }

            if (var9 != null && var9.getUsername() != null) {
               String var8 = var9.getUsername();
               if (var9.getNtlmDomain() != null) {
                  var8 = var9.getNtlmDomain() + "\\" + var8;
               }

               var1 = new PasswordAuthentication(var8, var2.getPassword(var9.getPasswordGoid()));
            }
         }
      }

      return var1;
   }
}
