axios 0.28.1 → 0.30.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.
package/dist/esm/axios.js CHANGED
@@ -1,4 +1,4 @@
1
- // axios v0.28.1 Copyright (c) 2024 Matt Zabriskie
1
+ // axios v0.30.0 Copyright (c) 2025 Matt Zabriskie
2
2
  var bind = function bind(fn, thisArg) {
3
3
  return function wrap() {
4
4
  return fn.apply(thisArg, arguments);
@@ -738,7 +738,7 @@ function toFormData(obj, formData, options) {
738
738
  key = removeBrackets(key);
739
739
 
740
740
  arr.forEach(function each(el, index) {
741
- !utils.isUndefined(el) && formData.append(
741
+ !(utils.isUndefined(el) || el === null) && formData.append(
742
742
  // eslint-disable-next-line no-nested-ternary
743
743
  indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),
744
744
  convertValue(el)
@@ -775,7 +775,7 @@ function toFormData(obj, formData, options) {
775
775
  stack.push(value);
776
776
 
777
777
  utils.forEach(value, function each(el, key) {
778
- var result = !utils.isUndefined(el) && visitor.call(
778
+ var result = !(utils.isUndefined(el) || el === null) && visitor.call(
779
779
  formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers
780
780
  );
781
781
 
@@ -1018,6 +1018,9 @@ function arrayToObject(arr) {
1018
1018
  function formDataToJSON(formData) {
1019
1019
  function buildPath(path, value, target, index) {
1020
1020
  var name = path[index++];
1021
+
1022
+ if (name === '__proto__') return true;
1023
+
1021
1024
  var isNumericKey = Number.isFinite(+name);
1022
1025
  var isLast = index >= path.length;
1023
1026
  name = !name && utils.isArray(target) ? target.length : name;
@@ -1154,7 +1157,7 @@ var isAbsoluteURL = function isAbsoluteURL(url) {
1154
1157
  */
1155
1158
  var combineURLs = function combineURLs(baseURL, relativeURL) {
1156
1159
  return relativeURL
1157
- ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
1160
+ ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '')
1158
1161
  : baseURL;
1159
1162
  };
1160
1163
 
@@ -1165,10 +1168,13 @@ var combineURLs = function combineURLs(baseURL, relativeURL) {
1165
1168
  *
1166
1169
  * @param {string} baseURL The base URL
1167
1170
  * @param {string} requestedURL Absolute or relative URL to combine
1171
+ * @param {boolean} allowAbsoluteUrls Set to true to allow absolute URLs
1172
+ *
1168
1173
  * @returns {string} The combined full path
1169
1174
  */
1170
- var buildFullPath = function buildFullPath(baseURL, requestedURL) {
1171
- if (baseURL && !isAbsoluteURL(requestedURL)) {
1175
+ var buildFullPath = function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
1176
+ var isRelativeURL = !isAbsoluteURL(requestedURL);
1177
+ if (baseURL && (isRelativeURL || allowAbsoluteUrls === false)) {
1172
1178
  return combineURLs(baseURL, requestedURL);
1173
1179
  }
1174
1180
  return requestedURL;
@@ -1344,7 +1350,7 @@ var xhr = function xhrAdapter(config) {
1344
1350
  requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
1345
1351
  }
1346
1352
 
1347
- var fullPath = buildFullPath(config.baseURL, config.url);
1353
+ var fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
1348
1354
 
1349
1355
  request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
1350
1356
 
@@ -1901,7 +1907,7 @@ var mergeConfig = function mergeConfig(config1, config2) {
1901
1907
  };
1902
1908
 
1903
1909
  var data = {
1904
- "version": "0.28.1"
1910
+ "version": "0.30.0"
1905
1911
  };
1906
1912
 
1907
1913
  var VERSION = data.version;
@@ -2042,15 +2048,19 @@ Axios.prototype.request = function request(configOrUrl, config) {
2042
2048
 
2043
2049
  var paramsSerializer = config.paramsSerializer;
2044
2050
 
2045
- if (paramsSerializer !== undefined) {
2046
- validator.assertOptions(paramsSerializer, {
2047
- encode: validators.function,
2048
- serialize: validators.function
2049
- }, true);
2051
+ if (paramsSerializer != null) {
2052
+ if (utils.isFunction(paramsSerializer)) {
2053
+ config.paramsSerializer = {
2054
+ serialize: paramsSerializer
2055
+ };
2056
+ } else {
2057
+ validator.assertOptions(paramsSerializer, {
2058
+ encode: validators.function,
2059
+ serialize: validators.function
2060
+ }, true);
2061
+ }
2050
2062
  }
2051
2063
 
2052
- utils.isFunction(paramsSerializer) && (config.paramsSerializer = {serialize: paramsSerializer});
2053
-
2054
2064
  // filter out skipped interceptors
2055
2065
  var requestInterceptorChain = [];
2056
2066
  var synchronousRequestInterceptors = true;
@@ -2113,7 +2123,7 @@ Axios.prototype.request = function request(configOrUrl, config) {
2113
2123
 
2114
2124
  Axios.prototype.getUri = function getUri(config) {
2115
2125
  config = mergeConfig(this.defaults, config);
2116
- var fullPath = buildFullPath(config.baseURL, config.url);
2126
+ var fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
2117
2127
  return buildURL(fullPath, config.params, config.paramsSerializer);
2118
2128
  };
2119
2129