icloudtweetdeckhipchattelegramhangoutsslackgmailskypefacebook-workplaceoutlookemailmicrosoft-teamsdiscordmessengercustom-servicesmacoslinuxwindowsinboxwhatsapp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
4.6 KiB
159 lines
4.6 KiB
/** |
|
* 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: undefined, |
|
|
|
/** |
|
* @cfg {Object} params |
|
* HTTP request params. The Proxy and its Writer have access to and can modify this object. |
|
*/ |
|
params: undefined, |
|
|
|
/** |
|
* @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} 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} rawRequest |
|
* Set the raw request object (Ajax/JsonP/Other) |
|
* @private |
|
*/ |
|
rawRequest: null, |
|
|
|
/** |
|
* @cfg {Object} jsonData |
|
* This is used by some write actions to attach data to the request without encoding it |
|
* as a parameter. |
|
*/ |
|
jsonData: undefined, |
|
|
|
/** |
|
* @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: undefined, |
|
|
|
/** |
|
* @cfg {Boolean} withCredentials |
|
* This field is necessary when using cross-origin resource sharing. |
|
*/ |
|
withCredentials: false, |
|
|
|
/** |
|
* @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, |
|
|
|
/** |
|
* @cfg {Boolean} binary |
|
* True to request binary data from the server. This feature requires |
|
* the use of a binary reader such as {@link Ext.data.amf.Reader AMF Reader} |
|
*/ |
|
binary: false, |
|
|
|
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); |
|
}, |
|
|
|
/** |
|
* Gets a single param from the {@link #params}. |
|
* @param {String} key The key for the param. |
|
* @return {Object} The value for the param. `undefined` if it does not exist. |
|
*/ |
|
getParam: function(key) { |
|
var params = this.getParams(), |
|
val; |
|
|
|
if (params) { |
|
return params[key]; |
|
} |
|
return val; |
|
}, |
|
|
|
/** |
|
* Sets a single param value in the {@link #params}. |
|
* @param {String} key The key to set. |
|
* @param {Object} value The value to set. |
|
*/ |
|
setParam: function(key, value) { |
|
var params = this.getParams() || {}; |
|
params[key] = value; |
|
this.setParams(params); |
|
} |
|
}); |