code: def do_request_async(self, url, method='GET', headers=None, payload=None,
                         deadline=None, callback=None):
      
      if headers is None:
        headers = {}
      if 'x-goog-api-version' not in headers:
        headers['x-goog-api-version'] = '2'
      headers['accept-encoding'] = 'gzip, *'
      try:
        resp_tuple = yield super(_StorageApi, self).do_request_async(
            url, method=method, headers=headers, payload=payload,
            deadline=deadline, callback=callback)
      except urlfetch.DownloadError as e:
        raise errors.TimeoutError(
            'Request to Google Cloud Storage timed out.', e)
  
      raise ndb.Return(resp_tuple)
docs: Inherit docs.
  
      This method translates urlfetch exceptions to more service specific ones.