@webex/http-core 1.148.0 → 1.150.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -58,6 +58,7 @@ function _request(options) {
|
|
|
58
58
|
var params = (0, _pick2.default)(options, 'method', 'uri', 'withCredentials', 'headers', 'timeout', 'responseType'); // Set `response` to `true` to approximate an `HttpResponse` object
|
|
59
59
|
|
|
60
60
|
params.response = true;
|
|
61
|
+
setXhr(params);
|
|
61
62
|
bindProgressEvents(params, options);
|
|
62
63
|
setAuth(params, options);
|
|
63
64
|
setCookies(params, options);
|
|
@@ -121,7 +122,10 @@ function _request(options) {
|
|
|
121
122
|
|
|
122
123
|
function bindProgressEvents(params, o) {
|
|
123
124
|
if (params.method && ['PATCH', 'POST', 'PUT'].includes(params.method.toUpperCase())) {
|
|
124
|
-
params.xhr
|
|
125
|
+
if (!params.xhr) {
|
|
126
|
+
params.xhr = new XMLHttpRequest();
|
|
127
|
+
}
|
|
128
|
+
|
|
125
129
|
params.xhr.upload.onprogress = o.upload.emit.bind(o.upload, 'progress');
|
|
126
130
|
}
|
|
127
131
|
}
|
|
@@ -133,6 +137,17 @@ function _request(options) {
|
|
|
133
137
|
*/
|
|
134
138
|
|
|
135
139
|
|
|
140
|
+
function setXhr(params) {
|
|
141
|
+
params.xhr = new XMLHttpRequest();
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* @param {Object} params
|
|
145
|
+
* @param {Object} o
|
|
146
|
+
* @private
|
|
147
|
+
* @returns {undefined}
|
|
148
|
+
*/
|
|
149
|
+
|
|
150
|
+
|
|
136
151
|
function setAuth(params, o) {
|
|
137
152
|
if (o.auth) {
|
|
138
153
|
if (o.auth.bearer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["request.shim.js"],"names":["_request","options","resolve","params","response","bindProgressEvents","setAuth","setCookies","setDefaults","setResponseType","setContentType","setPayload","setQs","logger","debug","method","uri","x","error","warn","statusCode","processResponseJson","headers","url","body","onprogress","download","emit","bind","catch","o","includes","toUpperCase","xhr","XMLHttpRequest","upload","auth","bearer","authorization","user","username","pass","password","token","btoa","jar","withCredentials","defs","cors","timeout","responseType","Blob","ArrayBuffer","json","qs","stringify","ensureBlob","file","ret","type","filename","name","append","form","key","value","v","formData","reduce","fd","FormData","JSON","parse","e"],"mappings":"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","sourcesContent":["/* eslint-disable no-underscore-dangle */\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint-env browser */\n\n// Note: several code paths are ignored in this file. As far as I can tell, any\n// error conditions that would provoke those paths are otherwise prevented and\n// reported.\n\nimport {defaults, isArray, pick} from 'lodash';\nimport qs from 'qs';\n\nimport xhr from '../lib/xhr';\nimport detect from '../lib/detect';\n\n/**\n * @name request\n * @param {Object} options\n * @returns {Promise}\n */\nexport default function _request(options) {\n return new Promise((resolve) => {\n const params = pick(options, 'method', 'uri', 'withCredentials', 'headers', 'timeout', 'responseType');\n\n // Set `response` to `true` to approximate an `HttpResponse` object\n params.response = true;\n\n bindProgressEvents(params, options);\n setAuth(params, options);\n setCookies(params, options);\n setDefaults(params, options);\n setResponseType(params, options);\n setContentType(params, options);\n setPayload(params, options);\n setQs(params, options);\n\n options.logger.debug(`start http ${options.method ? options.method : 'request'} to ${options.uri}`);\n\n const x = xhr(params, (error, response) => {\n /* istanbul ignore next */\n if (error) {\n options.logger.warn(error);\n }\n\n /* istanbul ignore else */\n if (response) {\n if (response.statusCode >= 400) {\n options.logger.warn(`http ${options.method ? options.method : 'request'} to ${options.uri} result: ${response.statusCode}`);\n }\n else {\n options.logger.debug(`http ${options.method ? options.method : 'request'} to ${options.uri} result: ${response.statusCode}`);\n }\n response.options = options;\n processResponseJson(response, params);\n resolve(response);\n }\n else {\n resolve({\n statusCode: 0,\n options,\n headers: options.headers,\n method: options.method,\n url: options.uri,\n body: error\n });\n }\n });\n\n x.onprogress = options.download.emit.bind(options.download, 'progress');\n })\n .catch((error) => {\n options.logger.warn(error);\n\n /* eslint arrow-body-style: [0] */\n /* istanbul ignore next */\n return {\n statusCode: 0,\n options,\n headers: options.headers,\n method: options.method,\n url: options.uri,\n body: error\n };\n });\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function bindProgressEvents(params, o) {\n if (params.method && ['PATCH', 'POST', 'PUT'].includes(params.method.toUpperCase())) {\n params.xhr = new XMLHttpRequest();\n params.xhr.upload.onprogress = o.upload.emit.bind(o.upload, 'progress');\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setAuth(params, o) {\n if (o.auth) {\n if (o.auth.bearer) {\n params.headers.authorization = `Bearer ${o.auth.bearer}`;\n }\n else {\n const user = o.auth.user || o.auth.username;\n const pass = o.auth.pass || o.auth.password;\n\n const token = btoa(`${user}:${pass}`);\n\n params.headers.authorization = `Basic ${token}`;\n }\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setCookies(params, o) {\n if (o.jar) {\n params.withCredentials = true;\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setDefaults(params, o) {\n const defs = {\n cors: true,\n // raynos/xhr defaults withCredentials to true if cors is true, so we need\n // to make it explicitly false by default\n withCredentials: false,\n timeout: 0\n };\n\n defaults(params, pick(o, Object.keys(defs)), defs);\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setResponseType(params, o) {\n if (o.responseType === 'buffer') {\n params.responseType = 'arraybuffer';\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n async function setContentType(params, o) {\n if (o.body instanceof Blob || o.body instanceof ArrayBuffer) {\n o.json = params.json = false;\n params.headers['content-type'] = params.headers['content-type'] || await detect(o.body);\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setQs(params, o) {\n if (o.qs) {\n params.uri += `?${qs.stringify(o.qs)}`;\n }\n }\n\n /**\n * Converts arraybuffers to blobs before uploading them\n * @param {mixed} file\n * @private\n * @returns {mixed}\n */\n function ensureBlob(file) {\n if (file instanceof ArrayBuffer) {\n const ret = file.type ? new Blob([file], {type: file.type}) : new Blob([file]);\n\n ret.filename = file.filename || file.name || 'untitled';\n\n return ret;\n }\n\n return file;\n }\n\n /**\n * Appends an item to a form\n * @param {FormData} form\n * @param {string} key\n * @param {mixed} value\n * @returns {undefined}\n */\n function append(form, key, value) {\n if (isArray(value)) {\n for (const v of value) {\n append(form, key, v);\n }\n\n return;\n }\n\n value = ensureBlob(value);\n if (value.name) {\n value.filename = value.name;\n form.append(key, value, value.name);\n }\n else {\n form.append(key, value);\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setPayload(params, o) {\n if ((!('json' in o) || o.json === true) && o.body) {\n params.json = o.body;\n }\n else if (o.form) {\n params.headers['Content-Type'] = 'application/x-www-form-urlencoded';\n params.body = qs.stringify(o.form);\n Reflect.deleteProperty(params, 'json');\n }\n else if (o.formData) {\n params.body = Object.keys(o.formData).reduce((fd, key) => {\n const value = o.formData[key];\n\n append(fd, key, value);\n\n return fd;\n }, new FormData());\n }\n else {\n params.body = o.body;\n Reflect.deleteProperty(params, 'json');\n }\n }\n\n /**\n * @param {Object} response\n * @param {Object} params\n * @private\n * @returns {undefined}\n */\n function processResponseJson(response, params) {\n // If params.json is not defined, xhr won't deserialize the response\n // so we should give it a shot just in case.\n if (!params.json && typeof response.body !== 'object') {\n try {\n response.body = JSON.parse(response.body);\n }\n catch (e) {\n /* eslint no-empty: [0] */\n }\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["request.shim.js"],"names":["_request","options","resolve","params","response","setXhr","bindProgressEvents","setAuth","setCookies","setDefaults","setResponseType","setContentType","setPayload","setQs","logger","debug","method","uri","x","error","warn","statusCode","processResponseJson","headers","url","body","onprogress","download","emit","bind","catch","o","includes","toUpperCase","xhr","XMLHttpRequest","upload","auth","bearer","authorization","user","username","pass","password","token","btoa","jar","withCredentials","defs","cors","timeout","responseType","Blob","ArrayBuffer","json","qs","stringify","ensureBlob","file","ret","type","filename","name","append","form","key","value","v","formData","reduce","fd","FormData","JSON","parse","e"],"mappings":"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","sourcesContent":["/* eslint-disable no-underscore-dangle */\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint-env browser */\n\n// Note: several code paths are ignored in this file. As far as I can tell, any\n// error conditions that would provoke those paths are otherwise prevented and\n// reported.\n\nimport {defaults, isArray, pick} from 'lodash';\nimport qs from 'qs';\n\nimport xhr from '../lib/xhr';\nimport detect from '../lib/detect';\n\n/**\n * @name request\n * @param {Object} options\n * @returns {Promise}\n */\nexport default function _request(options) {\n return new Promise((resolve) => {\n const params = pick(options, 'method', 'uri', 'withCredentials', 'headers', 'timeout', 'responseType');\n\n // Set `response` to `true` to approximate an `HttpResponse` object\n params.response = true;\n\n setXhr(params);\n bindProgressEvents(params, options);\n setAuth(params, options);\n setCookies(params, options);\n setDefaults(params, options);\n setResponseType(params, options);\n setContentType(params, options);\n setPayload(params, options);\n setQs(params, options);\n\n options.logger.debug(`start http ${options.method ? options.method : 'request'} to ${options.uri}`);\n\n const x = xhr(params, (error, response) => {\n /* istanbul ignore next */\n if (error) {\n options.logger.warn(error);\n }\n\n /* istanbul ignore else */\n if (response) {\n if (response.statusCode >= 400) {\n options.logger.warn(`http ${options.method ? options.method : 'request'} to ${options.uri} result: ${response.statusCode}`);\n }\n else {\n options.logger.debug(`http ${options.method ? options.method : 'request'} to ${options.uri} result: ${response.statusCode}`);\n }\n response.options = options;\n processResponseJson(response, params);\n resolve(response);\n }\n else {\n resolve({\n statusCode: 0,\n options,\n headers: options.headers,\n method: options.method,\n url: options.uri,\n body: error\n });\n }\n });\n\n x.onprogress = options.download.emit.bind(options.download, 'progress');\n })\n .catch((error) => {\n options.logger.warn(error);\n\n /* eslint arrow-body-style: [0] */\n /* istanbul ignore next */\n return {\n statusCode: 0,\n options,\n headers: options.headers,\n method: options.method,\n url: options.uri,\n body: error\n };\n });\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function bindProgressEvents(params, o) {\n if (params.method && ['PATCH', 'POST', 'PUT'].includes(params.method.toUpperCase())) {\n if (!params.xhr) {\n params.xhr = new XMLHttpRequest();\n }\n params.xhr.upload.onprogress = o.upload.emit.bind(o.upload, 'progress');\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setXhr(params) {\n params.xhr = new XMLHttpRequest();\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setAuth(params, o) {\n if (o.auth) {\n if (o.auth.bearer) {\n params.headers.authorization = `Bearer ${o.auth.bearer}`;\n }\n else {\n const user = o.auth.user || o.auth.username;\n const pass = o.auth.pass || o.auth.password;\n\n const token = btoa(`${user}:${pass}`);\n\n params.headers.authorization = `Basic ${token}`;\n }\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setCookies(params, o) {\n if (o.jar) {\n params.withCredentials = true;\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setDefaults(params, o) {\n const defs = {\n cors: true,\n // raynos/xhr defaults withCredentials to true if cors is true, so we need\n // to make it explicitly false by default\n withCredentials: false,\n timeout: 0\n };\n\n defaults(params, pick(o, Object.keys(defs)), defs);\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setResponseType(params, o) {\n if (o.responseType === 'buffer') {\n params.responseType = 'arraybuffer';\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n async function setContentType(params, o) {\n if (o.body instanceof Blob || o.body instanceof ArrayBuffer) {\n o.json = params.json = false;\n params.headers['content-type'] = params.headers['content-type'] || await detect(o.body);\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setQs(params, o) {\n if (o.qs) {\n params.uri += `?${qs.stringify(o.qs)}`;\n }\n }\n\n /**\n * Converts arraybuffers to blobs before uploading them\n * @param {mixed} file\n * @private\n * @returns {mixed}\n */\n function ensureBlob(file) {\n if (file instanceof ArrayBuffer) {\n const ret = file.type ? new Blob([file], {type: file.type}) : new Blob([file]);\n\n ret.filename = file.filename || file.name || 'untitled';\n\n return ret;\n }\n\n return file;\n }\n\n /**\n * Appends an item to a form\n * @param {FormData} form\n * @param {string} key\n * @param {mixed} value\n * @returns {undefined}\n */\n function append(form, key, value) {\n if (isArray(value)) {\n for (const v of value) {\n append(form, key, v);\n }\n\n return;\n }\n\n value = ensureBlob(value);\n if (value.name) {\n value.filename = value.name;\n form.append(key, value, value.name);\n }\n else {\n form.append(key, value);\n }\n }\n\n /**\n * @param {Object} params\n * @param {Object} o\n * @private\n * @returns {undefined}\n */\n function setPayload(params, o) {\n if ((!('json' in o) || o.json === true) && o.body) {\n params.json = o.body;\n }\n else if (o.form) {\n params.headers['Content-Type'] = 'application/x-www-form-urlencoded';\n params.body = qs.stringify(o.form);\n Reflect.deleteProperty(params, 'json');\n }\n else if (o.formData) {\n params.body = Object.keys(o.formData).reduce((fd, key) => {\n const value = o.formData[key];\n\n append(fd, key, value);\n\n return fd;\n }, new FormData());\n }\n else {\n params.body = o.body;\n Reflect.deleteProperty(params, 'json');\n }\n }\n\n /**\n * @param {Object} response\n * @param {Object} params\n * @private\n * @returns {undefined}\n */\n function processResponseJson(response, params) {\n // If params.json is not defined, xhr won't deserialize the response\n // so we should give it a shot just in case.\n if (!params.json && typeof response.body !== 'object') {\n try {\n response.body = JSON.parse(response.body);\n }\n catch (e) {\n /* eslint no-empty: [0] */\n }\n }\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/http-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.150.0",
|
|
4
4
|
"description": "Core HTTP library for the Cisco Webex",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ian W. Remmel <iremmel@cisco.com>",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@babel/runtime-corejs2": "^7.14.8",
|
|
24
24
|
"lodash": "^4.17.21",
|
|
25
|
-
"@webex/common": "1.
|
|
25
|
+
"@webex/common": "1.150.0",
|
|
26
26
|
"request": "^2.88.0",
|
|
27
27
|
"safe-buffer": "^5.2.0",
|
|
28
28
|
"file-type": "^16.0.1",
|
|
@@ -27,6 +27,7 @@ export default function _request(options) {
|
|
|
27
27
|
// Set `response` to `true` to approximate an `HttpResponse` object
|
|
28
28
|
params.response = true;
|
|
29
29
|
|
|
30
|
+
setXhr(params);
|
|
30
31
|
bindProgressEvents(params, options);
|
|
31
32
|
setAuth(params, options);
|
|
32
33
|
setCookies(params, options);
|
|
@@ -93,11 +94,23 @@ export default function _request(options) {
|
|
|
93
94
|
*/
|
|
94
95
|
function bindProgressEvents(params, o) {
|
|
95
96
|
if (params.method && ['PATCH', 'POST', 'PUT'].includes(params.method.toUpperCase())) {
|
|
96
|
-
params.xhr
|
|
97
|
+
if (!params.xhr) {
|
|
98
|
+
params.xhr = new XMLHttpRequest();
|
|
99
|
+
}
|
|
97
100
|
params.xhr.upload.onprogress = o.upload.emit.bind(o.upload, 'progress');
|
|
98
101
|
}
|
|
99
102
|
}
|
|
100
103
|
|
|
104
|
+
/**
|
|
105
|
+
* @param {Object} params
|
|
106
|
+
* @param {Object} o
|
|
107
|
+
* @private
|
|
108
|
+
* @returns {undefined}
|
|
109
|
+
*/
|
|
110
|
+
function setXhr(params) {
|
|
111
|
+
params.xhr = new XMLHttpRequest();
|
|
112
|
+
}
|
|
113
|
+
|
|
101
114
|
/**
|
|
102
115
|
* @param {Object} params
|
|
103
116
|
* @param {Object} o
|