127 lines
3.6 KiB
JavaScript
127 lines
3.6 KiB
JavaScript
/**
|
|
* @author Ed Spencer
|
|
*
|
|
* Simple class that represents a Request that will be made by any {@link Ext.data.proxy.Server} subclass.
|
|
* All this class does is standardize the representation of a Request as used by any ServerProxy subclass,
|
|
* it does not contain any actual logic or perform the request itself.
|
|
*/
|
|
Ext.define('Ext.data.Request', {
|
|
config: {
|
|
/**
|
|
* @cfg {String} action
|
|
* The name of the action this Request represents. Usually one of 'create', 'read', 'update' or 'destroy'.
|
|
*/
|
|
action: null,
|
|
|
|
/**
|
|
* @cfg {Object} params
|
|
* HTTP request params. The Proxy and its Writer have access to and can modify this object.
|
|
*/
|
|
params: null,
|
|
|
|
/**
|
|
* @cfg {String} method
|
|
* The HTTP method to use on this Request. Should be one of 'GET', 'POST', 'PUT' or 'DELETE'.
|
|
*/
|
|
method: 'GET',
|
|
|
|
/**
|
|
* @cfg {String} url
|
|
* The url to access on this Request.
|
|
*/
|
|
url: null,
|
|
|
|
/**
|
|
* @cfg {Ext.data.Operation} operation
|
|
* The operation this request belongs to.
|
|
*/
|
|
operation: null,
|
|
|
|
/**
|
|
* @cfg {Ext.data.proxy.Proxy} proxy
|
|
* The proxy this request belongs to.
|
|
*/
|
|
proxy: null,
|
|
|
|
/**
|
|
* @cfg {Boolean} disableCaching
|
|
* Whether or not to disable caching for this request.
|
|
*/
|
|
disableCaching: false,
|
|
|
|
/**
|
|
* @cfg {Object} headers
|
|
* Some requests (like XMLHttpRequests) want to send additional server headers.
|
|
* This configuration can be set for those types of requests.
|
|
*/
|
|
headers: {},
|
|
|
|
/**
|
|
* @cfg {String} callbackKey
|
|
* Some requests (like JsonP) want to send an additional key that contains
|
|
* the name of the callback function.
|
|
*/
|
|
callbackKey: null,
|
|
|
|
/**
|
|
* @cfg {Ext.data.JsonP} jsonp
|
|
* JsonP requests return a handle that might be useful in the callback function.
|
|
*/
|
|
jsonP: null,
|
|
|
|
/**
|
|
* @cfg {Object} jsonData
|
|
* This is used by some write actions to attach data to the request without encoding it
|
|
* as a parameter.
|
|
*/
|
|
jsonData: null,
|
|
|
|
/**
|
|
* @cfg {Object} xmlData
|
|
* This is used by some write actions to attach data to the request without encoding it
|
|
* as a parameter, but instead sending it as XML.
|
|
*/
|
|
xmlData: null,
|
|
|
|
/**
|
|
* @cfg {Boolean} withCredentials
|
|
* This field is necessary when using cross-origin resource sharing.
|
|
*/
|
|
withCredentials: null,
|
|
|
|
/**
|
|
* @cfg {String} username
|
|
* Most oData feeds require basic HTTP authentication. This configuration allows
|
|
* you to specify the username.
|
|
* @accessor
|
|
*/
|
|
username: null,
|
|
|
|
/**
|
|
* @cfg {String} password
|
|
* Most oData feeds require basic HTTP authentication. This configuration allows
|
|
* you to specify the password.
|
|
* @accessor
|
|
*/
|
|
password: null,
|
|
|
|
callback: null,
|
|
scope: null,
|
|
timeout: 30000,
|
|
records: null,
|
|
|
|
// The following two configurations are only used by Ext.data.proxy.Direct and are just
|
|
// for being able to retrieve them after the request comes back from the server.
|
|
directFn: null,
|
|
args: null,
|
|
useDefaultXhrHeader: null
|
|
},
|
|
|
|
/**
|
|
* Creates the Request object.
|
|
* @param {Object} [config] Config object.
|
|
*/
|
|
constructor: function(config) {
|
|
this.initConfig(config);
|
|
}
|
|
}); |