code: function Request(options) {
        this.cacheKey = bind(this.cacheKey, this);
        this.isCachable = bind(this.isCachable, this);
        this.buildResponse = bind(this.buildResponse, this);
        this.isCrossDomain = bind(this.isCrossDomain, this);
        this.csrfToken = bind(this.csrfToken, this);
        this.navigate = bind(this.navigate, this);
        this.send = bind(this.send, this);
        this.isSafe = bind(this.isSafe, this);
        this.transferSearchToParams = bind(this.transferSearchToParams, this);
        this.transferParamsToUrl = bind(this.transferParamsToUrl, this);
        this.extractHashFromUrl = bind(this.extractHashFromUrl, this);
        this.normalize = bind(this.normalize, this);
        up.legacy.fixKey(options, 'data', 'params');
        Request.__super__.constructor.call(this, options);
        this.normalize();
      }
docs: *
  Creates a new `up.Request` object.
  
  This will not actually send the request over the network. For that use `up.request()`.
  
  @constructor up.Request
  @param {string} attrs.url
  @param {string} [attrs.method='get']
  @param {up.Params|string|Object|Array} [attrs.params]
  @param {string} [attrs.target]
  @param {string} [attrs.failTarget]
  @param {Object<string, string>} [attrs.headers]
  @param {number} [attrs.timeout]
  @internal