function Request(operation, resource, options) {
    if (!resource) {
        throw new Error('Resource is required for a fetcher request');
    }

    this.operation = operation || OP_READ;
    this.resource = resource;
    this.options = {
        headers: options.headers,
        xhrPath: options.xhrPath || DEFAULT_PATH,
        xhrTimeout: options.xhrTimeout || DEFAULT_TIMEOUT,
        corsPath: options.corsPath,
        context: options.context || {},
        contextPicker: options.contextPicker || {},
        statsCollector: options.statsCollector,
        _serviceMeta: options._serviceMeta || [],
    };
    this._params = {};
    this._body = null;
    this._clientConfig = {};
    this._startTime = 0;
}
/**
 * A RequestClient instance represents a single fetcher request.
 * The constructor requires `operation` (CRUD) and `resource`.
 * @class RequestClient
 * @param {String} operation The CRUD operation name: 'create|read|update|delete'.
 * @param {String} resource name of fetcher/service
 * @param {Object} options configuration options for Request
 * @param {Array} [options._serviceMeta] Array to hold per-request/session metadata from all service calls.
 * Data will be pushed on to this array while the Fetchr instance maintains the reference for this session.
 *
 * @constructor
 */
A RequestClient instance represents a single fetcher request.
The constructor requires `operation` (CRUD) and `resource`.
@class RequestClient
@param {String} operation The CRUD operation name: 'create|read|update|delete'.
@param {String} resource name of fetcher/service
@param {Object} options configuration options for Request
@param {Array} [options._serviceMeta] Array to hold per-request/session metadata from all service calls.
Data will be pushed on to this array while the Fetchr instance maintains the reference for this session.

@constructor
A RequestClient instance represents a single fetcher request . The constructor requires ` operation ` ( CRUD ) and ` resource ` . @class RequestClient @param { String } operation The CRUD operation name : ' create|read|update|delete ' . @param { String } resource name of fetcher / service @param { Object } options configuration options for Request @param { Array } [ options . _serviceMeta ] Array to hold per - request / session metadata from all service calls . Data will be pushed on to this array while the Fetchr instance maintains the reference for this session . @constructor
function Request(operation, resource, options) {
    if (!resource) {
        throw new Error('Resource is required for a fetcher request');
    }
    this.operation = operation || OP_READ;
    this.resource = resource;
    this.options = {
        headers: options.headers,
        xhrPath: options.xhrPath || DEFAULT_PATH,
        xhrTimeout: options.xhrTimeout || DEFAULT_TIMEOUT,
        corsPath: options.corsPath,
        context: options.context || {},
        contextPicker: options.contextPicker || {},
        statsCollector: options.statsCollector,
        _serviceMeta: options._serviceMeta || [],
    };
    this._params = {};
    this._body = null;
    this._clientConfig = {};
    this._startTime = 0;
}
function Request ( operation , resource , options ) { if ( ! resource ) { throw new Error ( 'Resource is required for a fetcher request' ) ; } this . operation = operation || OP_READ ; this . resource = resource ; this . options = { headers : options . headers , xhrPath : options . xhrPath || DEFAULT_PATH , xhrTimeout : options . xhrTimeout || DEFAULT_TIMEOUT , corsPath : options . corsPath , context : options . context || { } , contextPicker : options . contextPicker || { } , statsCollector : options . statsCollector , _serviceMeta : options . _serviceMeta || [ ] , } ; this . _params = { } ; this . _body = null ; this . _clientConfig = { } ; this . _startTime = 0 ; }
A RequestClient instance represents a single fetcher request.
A RequestClient instance represents a single fetcher request .