wrappedCallback = function(e) {
    const xhrIo = e.target;

    if (xhrIo.getStatus() == 429 && retryCount < maxRetries) {
      retryCount++;
      setTimeout(function() {
        apiclient.requestQueue_.push(request);
        apiclient.RequestThrottle_.fire();
      }, apiclient.calculateRetryWait_(retryCount));
      return null;
    }

    return apiclient.handleResponse_(
        xhrIo.getStatus(), goog.bind(xhrIo.getResponseHeader, xhrIo),
        xhrIo.getResponseText(), profileHookAtCallTime, callback, url, method,
        detectPartialError);
  }
Creates an aync network request object using the specified parameters.
The callback is wrapped so that exponential backoff is used in response to
429 errors.
@param {string} url The request's URL.
@param {function(?, string=)} callback The callback to execute when the
    request gets a response.
@param {string} method The request's HTTP method.
@param {?string} content The content of the request.
@param {!Object<string,string>} headers The headers to send with the request.
@param {number=} retries Overrides the default max retries value.
@param {function(!Object):boolean=} detectPartialError Checks if response
    JSON should be returned directly instead of throwing an error.
@return {!apiclient.NetworkRequest_} The async request.
@private