axios 1.3.2 → 1.3.4
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.
Potentially problematic release.
This version of axios might be problematic. Click here for more details.
- package/CHANGELOG.md +28 -0
- package/README.md +3 -0
- package/dist/axios.js +11 -6
- package/dist/axios.js.map +1 -1
- package/dist/axios.min.js +1 -1
- package/dist/axios.min.js.map +1 -1
- package/dist/browser/axios.cjs +12 -6
- package/dist/browser/axios.cjs.map +1 -1
- package/dist/esm/axios.js +12 -6
- package/dist/esm/axios.js.map +1 -1
- package/dist/esm/axios.min.js +1 -1
- package/dist/esm/axios.min.js.map +1 -1
- package/dist/node/axios.cjs +43 -31
- package/dist/node/axios.cjs.map +1 -1
- package/lib/adapters/http.js +34 -26
- package/lib/core/AxiosHeaders.js +6 -2
- package/lib/env/data.js +1 -1
- package/lib/platform/browser/classes/Blob.js +3 -0
- package/lib/platform/browser/classes/FormData.js +1 -1
- package/lib/platform/browser/index.js +1 -0
- package/package.json +2 -3
package/lib/adapters/http.js
CHANGED
@@ -116,15 +116,39 @@ function setProxy(options, configProxy, location) {
|
|
116
116
|
|
117
117
|
const isHttpAdapterSupported = typeof process !== 'undefined' && utils.kindOf(process) === 'process';
|
118
118
|
|
119
|
+
// temporary hotfix
|
120
|
+
|
121
|
+
const wrapAsync = (asyncExecutor) => {
|
122
|
+
return new Promise((resolve, reject) => {
|
123
|
+
let onDone;
|
124
|
+
let isDone;
|
125
|
+
|
126
|
+
const done = (value, isRejected) => {
|
127
|
+
if (isDone) return;
|
128
|
+
isDone = true;
|
129
|
+
onDone && onDone(value, isRejected);
|
130
|
+
}
|
131
|
+
|
132
|
+
const _resolve = (value) => {
|
133
|
+
done(value);
|
134
|
+
resolve(value);
|
135
|
+
};
|
136
|
+
|
137
|
+
const _reject = (reason) => {
|
138
|
+
done(reason, true);
|
139
|
+
reject(reason);
|
140
|
+
}
|
141
|
+
|
142
|
+
asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject);
|
143
|
+
})
|
144
|
+
};
|
145
|
+
|
119
146
|
/*eslint consistent-return:0*/
|
120
147
|
export default isHttpAdapterSupported && function httpAdapter(config) {
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
const responseType = config.responseType;
|
125
|
-
const responseEncoding = config.responseEncoding;
|
148
|
+
return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {
|
149
|
+
let {data} = config;
|
150
|
+
const {responseType, responseEncoding} = config;
|
126
151
|
const method = config.method.toUpperCase();
|
127
|
-
let isFinished;
|
128
152
|
let isDone;
|
129
153
|
let rejected = false;
|
130
154
|
let req;
|
@@ -132,10 +156,7 @@ export default isHttpAdapterSupported && function httpAdapter(config) {
|
|
132
156
|
// temporary internal emitter until the AxiosRequest class will be implemented
|
133
157
|
const emitter = new EventEmitter();
|
134
158
|
|
135
|
-
|
136
|
-
if (isFinished) return;
|
137
|
-
isFinished = true;
|
138
|
-
|
159
|
+
const onFinished = () => {
|
139
160
|
if (config.cancelToken) {
|
140
161
|
config.cancelToken.unsubscribe(abort);
|
141
162
|
}
|
@@ -147,26 +168,13 @@ export default isHttpAdapterSupported && function httpAdapter(config) {
|
|
147
168
|
emitter.removeAllListeners();
|
148
169
|
}
|
149
170
|
|
150
|
-
|
151
|
-
if (isDone) return;
|
152
|
-
|
171
|
+
onDone((value, isRejected) => {
|
153
172
|
isDone = true;
|
154
|
-
|
155
173
|
if (isRejected) {
|
156
174
|
rejected = true;
|
157
175
|
onFinished();
|
158
176
|
}
|
159
|
-
|
160
|
-
isRejected ? rejectPromise(value) : resolvePromise(value);
|
161
|
-
}
|
162
|
-
|
163
|
-
const resolve = function resolve(value) {
|
164
|
-
done(value);
|
165
|
-
};
|
166
|
-
|
167
|
-
const reject = function reject(value) {
|
168
|
-
done(value, true);
|
169
|
-
};
|
177
|
+
});
|
170
178
|
|
171
179
|
function abort(reason) {
|
172
180
|
emitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason);
|
@@ -264,7 +272,7 @@ export default isHttpAdapterSupported && function httpAdapter(config) {
|
|
264
272
|
if (!headers.hasContentLength()) {
|
265
273
|
try {
|
266
274
|
const knownLength = await util.promisify(data.getLength).call(data);
|
267
|
-
headers.setContentLength(knownLength);
|
275
|
+
Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength);
|
268
276
|
/*eslint no-empty:0*/
|
269
277
|
} catch (e) {
|
270
278
|
}
|
package/lib/core/AxiosHeaders.js
CHANGED
@@ -33,11 +33,15 @@ function isValidHeaderName(str) {
|
|
33
33
|
return /^[-_a-zA-Z]+$/.test(str.trim());
|
34
34
|
}
|
35
35
|
|
36
|
-
function matchHeaderValue(context, value, header, filter) {
|
36
|
+
function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {
|
37
37
|
if (utils.isFunction(filter)) {
|
38
38
|
return filter.call(this, value, header);
|
39
39
|
}
|
40
40
|
|
41
|
+
if (isHeaderNameFilter) {
|
42
|
+
value = header;
|
43
|
+
}
|
44
|
+
|
41
45
|
if (!utils.isString(value)) return;
|
42
46
|
|
43
47
|
if (utils.isString(filter)) {
|
@@ -181,7 +185,7 @@ class AxiosHeaders {
|
|
181
185
|
|
182
186
|
while (i--) {
|
183
187
|
const key = keys[i];
|
184
|
-
if(!matcher || matchHeaderValue(this, this[key], key, matcher)) {
|
188
|
+
if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
|
185
189
|
delete this[key];
|
186
190
|
deleted = true;
|
187
191
|
}
|
package/lib/env/data.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const VERSION = "1.3.
|
1
|
+
export const VERSION = "1.3.4";
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "axios",
|
3
|
-
"version": "1.3.
|
3
|
+
"version": "1.3.4",
|
4
4
|
"description": "Promise based HTTP client for the browser and node.js",
|
5
5
|
"main": "index.js",
|
6
6
|
"exports": {
|
@@ -157,8 +157,7 @@
|
|
157
157
|
"Rikki Gibson (https://github.com/RikkiGibson)",
|
158
158
|
"Remco Haszing (https://github.com/remcohaszing)",
|
159
159
|
"Yasu Flores (https://github.com/yasuf)",
|
160
|
-
"Ben Carp (https://github.com/carpben)"
|
161
|
-
"Daniel Lopretto (https://github.com/timemachine3030)"
|
160
|
+
"Ben Carp (https://github.com/carpben)"
|
162
161
|
],
|
163
162
|
"sideEffects": false,
|
164
163
|
"release-it": {
|