whole_func_string: function (method, url, options) {
      var self = this;
  
      if (!options.headers) {
        options.headers = {};
      }
      options.headers['Authorization'] = 'Bearer ' + this.token;
  
      if (typeof options.body === 'object' && !isBinaryData(options.body)) {
        options.body = JSON.stringify(options.body);
        options.headers['Content-Type'] = 'application/json; charset=UTF-8';
      }
  
      this.rs._emit('wire-busy', {
        method: method,
        isFolder: isFolder(url)
      });
  
      return WireClient.request.call(this, method, url, options).then(function(xhr) {
        // 503 means retry this later
        if (xhr && xhr.status === 503) {
          if (self.online) {
            self.online = false;
            self.rs._emit('network-offline');
          }
          return setTimeout(self._request(method, url, options), 3210);
        } else {
          if (!self.online) {
            self.online = true;
            self.rs._emit('network-online');
          }
          self.rs._emit('wire-done', {
            method: method,
            isFolder: isFolder(url),
            success: true
          });
  
          return Promise.resolve(xhr);
        }
      }, function(error) {
        if (self.online) {
          self.online = false;
          self.rs._emit('network-offline');
        }
        self.rs._emit('wire-done', {
          method: method,
          isFolder: isFolder(url),
          success: false
        });
  
        return Promise.reject(error);
      });
    }
func_code_string: function (method, url, options) {
      var self = this;
  
      if (!options.headers) {
        options.headers = {};
      }
      options.headers['Authorization'] = 'Bearer ' + this.token;
  
      if (typeof options.body === 'object' && !isBinaryData(options.body)) {
        options.body = JSON.stringify(options.body);
        options.headers['Content-Type'] = 'application/json; charset=UTF-8';
      }
  
      this.rs._emit('wire-busy', {
        method: method,
        isFolder: isFolder(url)
      });
  
      return WireClient.request.call(this, method, url, options).then(function(xhr) {
        // 503 means retry this later
        if (xhr && xhr.status === 503) {
          if (self.online) {
            self.online = false;
            self.rs._emit('network-offline');
          }
          return setTimeout(self._request(method, url, options), 3210);
        } else {
          if (!self.online) {
            self.online = true;
            self.rs._emit('network-online');
          }
          self.rs._emit('wire-done', {
            method: method,
            isFolder: isFolder(url),
            success: true
          });
  
          return Promise.resolve(xhr);
        }
      }, function(error) {
        if (self.online) {
          self.online = false;
          self.rs._emit('network-offline');
        }
        self.rs._emit('wire-done', {
          method: method,
          isFolder: isFolder(url),
          success: false
        });
  
        return Promise.reject(error);
      });
    }
func_documentation_string: Make a network request.
  
  @param {string} method - Request method
  @param {string} url - Target URL
  @param {object} options - Request options
  @returns {Promise} Resolves with the response of the network request
  
  @private