code: function Request(method, urlPath, cache) {
  	this._method = method;
  	this._urlPath = urlPath;
  	this._cache = cache;
  
  	this._queryParams = [];
  	// _postParams should initially be null instead of {} because we want to allow people to send POST requests with
  	// empty data sets (if they need to).  This way, we can differentiate between a default of null, an empty data set,
  	// and a populated data set.
  	this._postParams = null;
  	this._headers = {};
  	this._timeout = null;
  	this._type = "json"; // superagent's default, only for POST/PUT/PATCH methods
  
  	// public field
  	this.aborted = undefined; //default to undefined
  }
docs: Implements a subset of superagent's API. Packages up arguments
  to pass to superagent under the hood.