1 |
- {"ast":null,"code":"\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/json/stringify\"));\nvar _includes = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/includes\"));\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\nvar _uuid = _interopRequireDefault(require(\"./uuid\"));\nvar _CoreManager = _interopRequireDefault(require(\"./CoreManager\"));\nvar _ParseError = _interopRequireDefault(require(\"./ParseError\"));\nvar _promiseUtils = require(\"./promiseUtils\");\nvar _Xhr = _interopRequireDefault(require(\"./Xhr.weapp\"));\n/* global XMLHttpRequest, XDomainRequest */\n\nlet XHR = null;\nif (typeof XMLHttpRequest !== 'undefined') {\n XHR = XMLHttpRequest;\n}\nlet useXDomainRequest = false;\n// @ts-ignore\nif (typeof XDomainRequest !== 'undefined' && !('withCredentials' in new XMLHttpRequest())) {\n useXDomainRequest = true;\n}\nfunction ajaxIE9(method, url, data, headers, options) {\n return new _promise.default((resolve, reject) => {\n // @ts-ignore\n const xdr = new XDomainRequest();\n xdr.onload = function () {\n let response;\n try {\n response = JSON.parse(xdr.responseText);\n } catch (e) {\n reject(e);\n }\n if (response) {\n resolve({\n response\n });\n }\n };\n xdr.onerror = xdr.ontimeout = function () {\n // Let's fake a real error message.\n const fakeResponse = {\n responseText: (0, _stringify.default)({\n code: _ParseError.default.X_DOMAIN_REQUEST,\n error: \"IE's XDomainRequest does not supply error info.\"\n })\n };\n reject(fakeResponse);\n };\n xdr.onprogress = function () {\n if (options && typeof options.progress === 'function') {\n options.progress(xdr.responseText);\n }\n };\n xdr.open(method, url);\n xdr.send(data);\n // @ts-ignore\n if (options && typeof options.requestTask === 'function') {\n // @ts-ignore\n options.requestTask(xdr);\n }\n });\n}\nconst RESTController = {\n ajax(method, url, data, headers, options) {\n var _context;\n if (useXDomainRequest) {\n return ajaxIE9(method, url, data, headers, options);\n }\n const promise = (0, _promiseUtils.resolvingPromise)();\n const isIdempotent = _CoreManager.default.get('IDEMPOTENCY') && (0, _includes.default)(_context = ['POST', 'PUT']).call(_context, method);\n const requestId = isIdempotent ? (0, _uuid.default)() : '';\n let attempts = 0;\n const dispatch = function () {\n if (XHR == null) {\n throw new Error('Cannot make a request: No definition of XMLHttpRequest was found.');\n }\n let handled = false;\n const xhr = new XHR();\n xhr.onreadystatechange = function () {\n if (xhr.readyState !== 4 || handled || xhr._aborted) {\n return;\n }\n handled = true;\n if (xhr.status >= 200 && xhr.status < 300) {\n let response;\n try {\n response = JSON.parse(xhr.responseText);\n const availableHeaders = typeof xhr.getAllResponseHeaders === 'function' ? xhr.getAllResponseHeaders() : '';\n headers = {};\n if (typeof xhr.getResponseHeader === 'function' && (availableHeaders === null || availableHeaders === void 0 ? void 0 : availableHeaders.indexOf('access-control-expose-headers')) >= 0) {\n const responseHeaders = xhr.getResponseHeader('access-control-expose-headers').split(', ');\n (0, _forEach.default)(responseHeaders).call(responseHeaders, header => {\n if ((0, _indexOf.default)(availableHeaders).call(availableHeaders, header.toLowerCase()) >= 0) {\n headers[header] = xhr.getResponseHeader(header.toLowerCase());\n }\n });\n }\n } catch (e) {\n promise.reject(e.toString());\n }\n if (response) {\n promise.resolve({\n response,\n headers,\n status: xhr.status,\n xhr\n });\n }\n } else if (xhr.status >= 500 || xhr.status === 0) {\n // retry on 5XX or node-xmlhttprequest error\n if (++attempts < _CoreManager.default.get('REQUEST_ATTEMPT_LIMIT')) {\n // Exponentially-growing random delay\n const delay = Math.round(Math.random() * 125 * Math.pow(2, attempts));\n (0, _setTimeout2.default)(dispatch, delay);\n } else if (xhr.status === 0) {\n promise.reject('Unable to connect to the Parse API');\n } else {\n // After the retry limit is reached, fail\n promise.reject(xhr);\n }\n } else {\n promise.reject(xhr);\n }\n };\n headers = headers || {};\n if (typeof headers['Content-Type'] !== 'string') {\n headers['Content-Type'] = 'text/plain'; // Avoid pre-flight\n }\n if (_CoreManager.default.get('IS_NODE')) {\n headers['User-Agent'] = 'Parse/' + _CoreManager.default.get('VERSION') + ' (NodeJS ' + process.versions.node + ')';\n }\n if (isIdempotent) {\n headers['X-Parse-Request-Id'] = requestId;\n }\n if (_CoreManager.default.get('SERVER_AUTH_TYPE') && _CoreManager.default.get('SERVER_AUTH_TOKEN')) {\n headers['Authorization'] = _CoreManager.default.get('SERVER_AUTH_TYPE') + ' ' + _CoreManager.default.get('SERVER_AUTH_TOKEN');\n }\n const customHeaders = _CoreManager.default.get('REQUEST_HEADERS');\n for (const key in customHeaders) {\n headers[key] = customHeaders[key];\n }\n if (options && typeof options.progress === 'function') {\n const handleProgress = function (type, event) {\n if (event.lengthComputable) {\n options.progress(event.loaded / event.total, event.loaded, event.total, {\n type\n });\n } else {\n options.progress(null, null, null, {\n type\n });\n }\n };\n xhr.onprogress = event => {\n handleProgress('download', event);\n };\n if (xhr.upload) {\n xhr.upload.onprogress = event => {\n handleProgress('upload', event);\n };\n }\n }\n xhr.open(method, url, true);\n for (const h in headers) {\n xhr.setRequestHeader(h, headers[h]);\n }\n xhr.onabort = function () {\n promise.resolve({\n response: {\n results: []\n },\n status: 0,\n xhr\n });\n };\n xhr.send(data);\n // @ts-ignore\n if (options && typeof options.requestTask === 'function') {\n // @ts-ignore\n options.requestTask(xhr);\n }\n };\n dispatch();\n return promise;\n },\n request(method, path, data, options) {\n options = options || {};\n let url = _CoreManager.default.get('SERVER_URL');\n if (url[url.length - 1] !== '/') {\n url += '/';\n }\n url += path;\n const payload = {};\n if (data && typeof data === 'object') {\n for (const k in data) {\n payload[k] = data[k];\n }\n }\n\n // Add context\n const context = options.context;\n if (context !== undefined) {\n payload._context = context;\n }\n if (method !== 'POST') {\n payload._method = method;\n method = 'POST';\n }\n payload._ApplicationId = _CoreManager.default.get('APPLICATION_ID');\n const jsKey = _CoreManager.default.get('JAVASCRIPT_KEY');\n if (jsKey) {\n payload._JavaScriptKey = jsKey;\n }\n payload._ClientVersion = _CoreManager.default.get('VERSION');\n let useMasterKey = options.useMasterKey;\n if (typeof useMasterKey === 'undefined') {\n useMasterKey = _CoreManager.default.get('USE_MASTER_KEY');\n }\n if (useMasterKey) {\n if (_CoreManager.default.get('MASTER_KEY')) {\n delete payload._JavaScriptKey;\n payload._MasterKey = _CoreManager.default.get('MASTER_KEY');\n } else {\n throw new Error('Cannot use the Master Key, it has not been provided.');\n }\n }\n if (_CoreManager.default.get('FORCE_REVOCABLE_SESSION')) {\n payload._RevocableSession = '1';\n }\n const installationId = options.installationId;\n let installationIdPromise;\n if (installationId && typeof installationId === 'string') {\n installationIdPromise = _promise.default.resolve(installationId);\n } else {\n const installationController = _CoreManager.default.getInstallationController();\n installationIdPromise = installationController.currentInstallationId();\n }\n return installationIdPromise.then(iid => {\n payload._InstallationId = iid;\n const userController = _CoreManager.default.getUserController();\n if (options && typeof options.sessionToken === 'string') {\n return _promise.default.resolve(options.sessionToken);\n } else if (userController) {\n return userController.currentUserAsync().then(user => {\n if (user) {\n return _promise.default.resolve(user.getSessionToken());\n }\n return _promise.default.resolve(null);\n });\n }\n return _promise.default.resolve(null);\n }).then(token => {\n if (token) {\n payload._SessionToken = token;\n }\n const payloadString = (0, _stringify.default)(payload);\n return RESTController.ajax(method, url, payloadString, {}, options).then(_ref => {\n let {\n response,\n status,\n headers,\n xhr\n } = _ref;\n if (options.returnStatus) {\n return {\n ...response,\n _status: status,\n _headers: headers,\n _xhr: xhr\n };\n } else {\n return response;\n }\n });\n }).catch(RESTController.handleError);\n },\n handleError(response) {\n // Transform the error into an instance of ParseError by trying to parse\n // the error string as JSON\n let error;\n if (response && response.responseText) {\n try {\n const errorJSON = JSON.parse(response.responseText);\n error = new _ParseError.default(errorJSON.code, errorJSON.error);\n } catch (e) {\n // If we fail to parse the error text, that's okay.\n error = new _ParseError.default(_ParseError.default.INVALID_JSON, 'Received an error with invalid JSON from Parse: ' + response.responseText);\n }\n } else {\n const message = response.message ? response.message : response;\n error = new _ParseError.default(_ParseError.default.CONNECTION_FAILED, 'XMLHttpRequest failed: ' + (0, _stringify.default)(message));\n }\n return _promise.default.reject(error);\n },\n _setXHR(xhr) {\n XHR = xhr;\n },\n _getXHR() {\n return XHR;\n }\n};\nmodule.exports = RESTController;\nvar _default = exports.default = RESTController;","map":{"version":3,"names":["_Object$defineProperty","require","_interopRequireDefault","exports","value","default","_promise","_stringify","_includes","_forEach","_indexOf","_setTimeout2","_uuid","_CoreManager","_ParseError","_promiseUtils","_Xhr","XHR","XMLHttpRequest","useXDomainRequest","XDomainRequest","ajaxIE9","method","url","data","headers","options","resolve","reject","xdr","onload","response","JSON","parse","responseText","e","onerror","ontimeout","fakeResponse","code","X_DOMAIN_REQUEST","error","onprogress","progress","open","send","requestTask","RESTController","ajax","_context","promise","resolvingPromise","isIdempotent","get","call","requestId","attempts","dispatch","Error","handled","xhr","onreadystatechange","readyState","_aborted","status","availableHeaders","getAllResponseHeaders","getResponseHeader","indexOf","responseHeaders","split","header","toLowerCase","toString","delay","Math","round","random","pow","process","versions","node","customHeaders","key","handleProgress","type","event","lengthComputable","loaded","total","upload","h","setRequestHeader","onabort","results","request","path","length","payload","k","context","undefined","_method","_ApplicationId","jsKey","_JavaScriptKey","_ClientVersion","useMasterKey","_MasterKey","_RevocableSession","installationId","installationIdPromise","installationController","getInstallationController","currentInstallationId","then","iid","_InstallationId","userController","getUserController","sessionToken","currentUserAsync","user","getSessionToken","token","_SessionToken","payloadString","_ref","returnStatus","_status","_headers","_xhr","catch","handleError","errorJSON","INVALID_JSON","message","CONNECTION_FAILED","_setXHR","_getXHR","module","_default"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/parse/lib/browser/RESTController.js"],"sourcesContent":["\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/json/stringify\"));\nvar _includes = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/includes\"));\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\nvar _uuid = _interopRequireDefault(require(\"./uuid\"));\nvar _CoreManager = _interopRequireDefault(require(\"./CoreManager\"));\nvar _ParseError = _interopRequireDefault(require(\"./ParseError\"));\nvar _promiseUtils = require(\"./promiseUtils\");\nvar _Xhr = _interopRequireDefault(require(\"./Xhr.weapp\"));\n/* global XMLHttpRequest, XDomainRequest */\n\nlet XHR = null;\nif (typeof XMLHttpRequest !== 'undefined') {\n XHR = XMLHttpRequest;\n}\nlet useXDomainRequest = false;\n// @ts-ignore\nif (typeof XDomainRequest !== 'undefined' && !('withCredentials' in new XMLHttpRequest())) {\n useXDomainRequest = true;\n}\nfunction ajaxIE9(method, url, data, headers, options) {\n return new _promise.default((resolve, reject) => {\n // @ts-ignore\n const xdr = new XDomainRequest();\n xdr.onload = function () {\n let response;\n try {\n response = JSON.parse(xdr.responseText);\n } catch (e) {\n reject(e);\n }\n if (response) {\n resolve({\n response\n });\n }\n };\n xdr.onerror = xdr.ontimeout = function () {\n // Let's fake a real error message.\n const fakeResponse = {\n responseText: (0, _stringify.default)({\n code: _ParseError.default.X_DOMAIN_REQUEST,\n error: \"IE's XDomainRequest does not supply error info.\"\n })\n };\n reject(fakeResponse);\n };\n xdr.onprogress = function () {\n if (options && typeof options.progress === 'function') {\n options.progress(xdr.responseText);\n }\n };\n xdr.open(method, url);\n xdr.send(data);\n // @ts-ignore\n if (options && typeof options.requestTask === 'function') {\n // @ts-ignore\n options.requestTask(xdr);\n }\n });\n}\nconst RESTController = {\n ajax(method, url, data, headers, options) {\n var _context;\n if (useXDomainRequest) {\n return ajaxIE9(method, url, data, headers, options);\n }\n const promise = (0, _promiseUtils.resolvingPromise)();\n const isIdempotent = _CoreManager.default.get('IDEMPOTENCY') && (0, _includes.default)(_context = ['POST', 'PUT']).call(_context, method);\n const requestId = isIdempotent ? (0, _uuid.default)() : '';\n let attempts = 0;\n const dispatch = function () {\n if (XHR == null) {\n throw new Error('Cannot make a request: No definition of XMLHttpRequest was found.');\n }\n let handled = false;\n const xhr = new XHR();\n xhr.onreadystatechange = function () {\n if (xhr.readyState !== 4 || handled || xhr._aborted) {\n return;\n }\n handled = true;\n if (xhr.status >= 200 && xhr.status < 300) {\n let response;\n try {\n response = JSON.parse(xhr.responseText);\n const availableHeaders = typeof xhr.getAllResponseHeaders === 'function' ? xhr.getAllResponseHeaders() : '';\n headers = {};\n if (typeof xhr.getResponseHeader === 'function' && availableHeaders?.indexOf('access-control-expose-headers') >= 0) {\n const responseHeaders = xhr.getResponseHeader('access-control-expose-headers').split(', ');\n (0, _forEach.default)(responseHeaders).call(responseHeaders, header => {\n if ((0, _indexOf.default)(availableHeaders).call(availableHeaders, header.toLowerCase()) >= 0) {\n headers[header] = xhr.getResponseHeader(header.toLowerCase());\n }\n });\n }\n } catch (e) {\n promise.reject(e.toString());\n }\n if (response) {\n promise.resolve({\n response,\n headers,\n status: xhr.status,\n xhr\n });\n }\n } else if (xhr.status >= 500 || xhr.status === 0) {\n // retry on 5XX or node-xmlhttprequest error\n if (++attempts < _CoreManager.default.get('REQUEST_ATTEMPT_LIMIT')) {\n // Exponentially-growing random delay\n const delay = Math.round(Math.random() * 125 * Math.pow(2, attempts));\n (0, _setTimeout2.default)(dispatch, delay);\n } else if (xhr.status === 0) {\n promise.reject('Unable to connect to the Parse API');\n } else {\n // After the retry limit is reached, fail\n promise.reject(xhr);\n }\n } else {\n promise.reject(xhr);\n }\n };\n headers = headers || {};\n if (typeof headers['Content-Type'] !== 'string') {\n headers['Content-Type'] = 'text/plain'; // Avoid pre-flight\n }\n if (_CoreManager.default.get('IS_NODE')) {\n headers['User-Agent'] = 'Parse/' + _CoreManager.default.get('VERSION') + ' (NodeJS ' + process.versions.node + ')';\n }\n if (isIdempotent) {\n headers['X-Parse-Request-Id'] = requestId;\n }\n if (_CoreManager.default.get('SERVER_AUTH_TYPE') && _CoreManager.default.get('SERVER_AUTH_TOKEN')) {\n headers['Authorization'] = _CoreManager.default.get('SERVER_AUTH_TYPE') + ' ' + _CoreManager.default.get('SERVER_AUTH_TOKEN');\n }\n const customHeaders = _CoreManager.default.get('REQUEST_HEADERS');\n for (const key in customHeaders) {\n headers[key] = customHeaders[key];\n }\n if (options && typeof options.progress === 'function') {\n const handleProgress = function (type, event) {\n if (event.lengthComputable) {\n options.progress(event.loaded / event.total, event.loaded, event.total, {\n type\n });\n } else {\n options.progress(null, null, null, {\n type\n });\n }\n };\n xhr.onprogress = event => {\n handleProgress('download', event);\n };\n if (xhr.upload) {\n xhr.upload.onprogress = event => {\n handleProgress('upload', event);\n };\n }\n }\n xhr.open(method, url, true);\n for (const h in headers) {\n xhr.setRequestHeader(h, headers[h]);\n }\n xhr.onabort = function () {\n promise.resolve({\n response: {\n results: []\n },\n status: 0,\n xhr\n });\n };\n xhr.send(data);\n // @ts-ignore\n if (options && typeof options.requestTask === 'function') {\n // @ts-ignore\n options.requestTask(xhr);\n }\n };\n dispatch();\n return promise;\n },\n request(method, path, data, options) {\n options = options || {};\n let url = _CoreManager.default.get('SERVER_URL');\n if (url[url.length - 1] !== '/') {\n url += '/';\n }\n url += path;\n const payload = {};\n if (data && typeof data === 'object') {\n for (const k in data) {\n payload[k] = data[k];\n }\n }\n\n // Add context\n const context = options.context;\n if (context !== undefined) {\n payload._context = context;\n }\n if (method !== 'POST') {\n payload._method = method;\n method = 'POST';\n }\n payload._ApplicationId = _CoreManager.default.get('APPLICATION_ID');\n const jsKey = _CoreManager.default.get('JAVASCRIPT_KEY');\n if (jsKey) {\n payload._JavaScriptKey = jsKey;\n }\n payload._ClientVersion = _CoreManager.default.get('VERSION');\n let useMasterKey = options.useMasterKey;\n if (typeof useMasterKey === 'undefined') {\n useMasterKey = _CoreManager.default.get('USE_MASTER_KEY');\n }\n if (useMasterKey) {\n if (_CoreManager.default.get('MASTER_KEY')) {\n delete payload._JavaScriptKey;\n payload._MasterKey = _CoreManager.default.get('MASTER_KEY');\n } else {\n throw new Error('Cannot use the Master Key, it has not been provided.');\n }\n }\n if (_CoreManager.default.get('FORCE_REVOCABLE_SESSION')) {\n payload._RevocableSession = '1';\n }\n const installationId = options.installationId;\n let installationIdPromise;\n if (installationId && typeof installationId === 'string') {\n installationIdPromise = _promise.default.resolve(installationId);\n } else {\n const installationController = _CoreManager.default.getInstallationController();\n installationIdPromise = installationController.currentInstallationId();\n }\n return installationIdPromise.then(iid => {\n payload._InstallationId = iid;\n const userController = _CoreManager.default.getUserController();\n if (options && typeof options.sessionToken === 'string') {\n return _promise.default.resolve(options.sessionToken);\n } else if (userController) {\n return userController.currentUserAsync().then(user => {\n if (user) {\n return _promise.default.resolve(user.getSessionToken());\n }\n return _promise.default.resolve(null);\n });\n }\n return _promise.default.resolve(null);\n }).then(token => {\n if (token) {\n payload._SessionToken = token;\n }\n const payloadString = (0, _stringify.default)(payload);\n return RESTController.ajax(method, url, payloadString, {}, options).then(_ref => {\n let {\n response,\n status,\n headers,\n xhr\n } = _ref;\n if (options.returnStatus) {\n return {\n ...response,\n _status: status,\n _headers: headers,\n _xhr: xhr\n };\n } else {\n return response;\n }\n });\n }).catch(RESTController.handleError);\n },\n handleError(response) {\n // Transform the error into an instance of ParseError by trying to parse\n // the error string as JSON\n let error;\n if (response && response.responseText) {\n try {\n const errorJSON = JSON.parse(response.responseText);\n error = new _ParseError.default(errorJSON.code, errorJSON.error);\n } catch (e) {\n // If we fail to parse the error text, that's okay.\n error = new _ParseError.default(_ParseError.default.INVALID_JSON, 'Received an error with invalid JSON from Parse: ' + response.responseText);\n }\n } else {\n const message = response.message ? response.message : response;\n error = new _ParseError.default(_ParseError.default.CONNECTION_FAILED, 'XMLHttpRequest failed: ' + (0, _stringify.default)(message));\n }\n return _promise.default.reject(error);\n },\n _setXHR(xhr) {\n XHR = xhr;\n },\n _getXHR() {\n return XHR;\n }\n};\nmodule.exports = RESTController;\nvar _default = exports.default = RESTController;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}
|