public void initialize()

in src/main/java/com/google/gcs/sdrs/util/RetryHttpInitializerWrapper.java [90:118]


  public void initialize(HttpRequest request) {
    request.setReadTimeout(2 * MILLIS_PER_MINUTE); // 2 minutes read timeout
    final HttpUnsuccessfulResponseHandler backoffHandler =
        new HttpBackOffUnsuccessfulResponseHandler(new ExponentialBackOff()).setSleeper(sleeper);
    if (backOffRequiredRateLimit) {
      ((HttpBackOffUnsuccessfulResponseHandler) backoffHandler)
          .setBackOffRequired(SdrsBackOffRequired.ON_SERVER_ERROR_RATE_LIMIT);
    }
    request.setInterceptor(wrappedCredential);
    request.setUnsuccessfulResponseHandler(
        (final HttpRequest unsuccessfulRequest,
            final HttpResponse response,
            final boolean supportsRetry) -> {
          if (wrappedCredential.handleResponse(unsuccessfulRequest, response, supportsRetry)) {
            // If credential decides it can handle it, the return code or message indicated
            // something specific to authentication, and no backoff is desired.
            return true;
          } else if (backoffHandler.handleResponse(unsuccessfulRequest, response, supportsRetry)) {
            // Otherwise, we defer to the judgement of our internal backoff handler.
            logger.info("Retrying " + unsuccessfulRequest.getUrl().toString());
            return true;
          } else {
            return false;
          }
        });

    request.setIOExceptionHandler(
        new HttpBackOffIOExceptionHandler(new ExponentialBackOff()).setSleeper(sleeper));
  }