package com.l7tech.common.http.prov.apache.components;

import com.l7tech.common.http.GenericHttpRequestParams;
import java.util.concurrent.TimeUnit;
import org.apache.hc.client5.http.classic.ExecChainHandler;
import org.apache.hc.client5.http.impl.ChainElement;
import org.apache.hc.client5.http.impl.DefaultHttpRequestRetryStrategy;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.apache.hc.core5.annotation.Internal;
import org.apache.hc.core5.http.config.NamedElementChain;
import org.apache.hc.core5.util.TimeValue;

class l extends HttpClientBuilder {
   final GenericHttpRequestParams val$params;

   l(HttpComponentsClient var1, GenericHttpRequestParams var2) {
      this.val$params = var2;
   }

   @Internal
   protected void customizeExecChain(NamedElementChain<ExecChainHandler> var1) {
      int var2 = 1;
      if (this.val$params.getMaxRetries() >= 0) {
         var2 = this.val$params.getMaxRetries();
      }

      var1.replace(
         ChainElement.RETRY.name(),
         new HttpRequestCustomRetryExec(
            new DefaultHttpRequestRetryStrategy(var2, TimeValue.of(HttpComponentsClient.DEFAULT_RETRY_INTERVAL, TimeUnit.MILLISECONDS)), var2
         )
      );
   }
}
