| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 | 
							- 'use strict';
 
- import utils from '../utils.js';
 
- import AxiosError from '../core/AxiosError.js';
 
- import transitionalDefaults from './transitional.js';
 
- import toFormData from '../helpers/toFormData.js';
 
- import toURLEncodedForm from '../helpers/toURLEncodedForm.js';
 
- import platform from '../platform/index.js';
 
- import formDataToJSON from '../helpers/formDataToJSON.js';
 
- /**
 
-  * It takes a string, tries to parse it, and if it fails, it returns the stringified version
 
-  * of the input
 
-  *
 
-  * @param {any} rawValue - The value to be stringified.
 
-  * @param {Function} parser - A function that parses a string into a JavaScript object.
 
-  * @param {Function} encoder - A function that takes a value and returns a string.
 
-  *
 
-  * @returns {string} A stringified version of the rawValue.
 
-  */
 
- function stringifySafely(rawValue, parser, encoder) {
 
-   if (utils.isString(rawValue)) {
 
-     try {
 
-       (parser || JSON.parse)(rawValue);
 
-       return utils.trim(rawValue);
 
-     } catch (e) {
 
-       if (e.name !== 'SyntaxError') {
 
-         throw e;
 
-       }
 
-     }
 
-   }
 
-   return (encoder || JSON.stringify)(rawValue);
 
- }
 
- const defaults = {
 
-   transitional: transitionalDefaults,
 
-   adapter: ['xhr', 'http', 'fetch'],
 
-   transformRequest: [function transformRequest(data, headers) {
 
-     const contentType = headers.getContentType() || '';
 
-     const hasJSONContentType = contentType.indexOf('application/json') > -1;
 
-     const isObjectPayload = utils.isObject(data);
 
-     if (isObjectPayload && utils.isHTMLForm(data)) {
 
-       data = new FormData(data);
 
-     }
 
-     const isFormData = utils.isFormData(data);
 
-     if (isFormData) {
 
-       return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;
 
-     }
 
-     if (utils.isArrayBuffer(data) ||
 
-       utils.isBuffer(data) ||
 
-       utils.isStream(data) ||
 
-       utils.isFile(data) ||
 
-       utils.isBlob(data) ||
 
-       utils.isReadableStream(data)
 
-     ) {
 
-       return data;
 
-     }
 
-     if (utils.isArrayBufferView(data)) {
 
-       return data.buffer;
 
-     }
 
-     if (utils.isURLSearchParams(data)) {
 
-       headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);
 
-       return data.toString();
 
-     }
 
-     let isFileList;
 
-     if (isObjectPayload) {
 
-       if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {
 
-         return toURLEncodedForm(data, this.formSerializer).toString();
 
-       }
 
-       if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {
 
-         const _FormData = this.env && this.env.FormData;
 
-         return toFormData(
 
-           isFileList ? {'files[]': data} : data,
 
-           _FormData && new _FormData(),
 
-           this.formSerializer
 
-         );
 
-       }
 
-     }
 
-     if (isObjectPayload || hasJSONContentType ) {
 
-       headers.setContentType('application/json', false);
 
-       return stringifySafely(data);
 
-     }
 
-     return data;
 
-   }],
 
-   transformResponse: [function transformResponse(data) {
 
-     const transitional = this.transitional || defaults.transitional;
 
-     const forcedJSONParsing = transitional && transitional.forcedJSONParsing;
 
-     const JSONRequested = this.responseType === 'json';
 
-     if (utils.isResponse(data) || utils.isReadableStream(data)) {
 
-       return data;
 
-     }
 
-     if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {
 
-       const silentJSONParsing = transitional && transitional.silentJSONParsing;
 
-       const strictJSONParsing = !silentJSONParsing && JSONRequested;
 
-       try {
 
-         return JSON.parse(data);
 
-       } catch (e) {
 
-         if (strictJSONParsing) {
 
-           if (e.name === 'SyntaxError') {
 
-             throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);
 
-           }
 
-           throw e;
 
-         }
 
-       }
 
-     }
 
-     return data;
 
-   }],
 
-   /**
 
-    * A timeout in milliseconds to abort a request. If set to 0 (default) a
 
-    * timeout is not created.
 
-    */
 
-   timeout: 0,
 
-   xsrfCookieName: 'XSRF-TOKEN',
 
-   xsrfHeaderName: 'X-XSRF-TOKEN',
 
-   maxContentLength: -1,
 
-   maxBodyLength: -1,
 
-   env: {
 
-     FormData: platform.classes.FormData,
 
-     Blob: platform.classes.Blob
 
-   },
 
-   validateStatus: function validateStatus(status) {
 
-     return status >= 200 && status < 300;
 
-   },
 
-   headers: {
 
-     common: {
 
-       'Accept': 'application/json, text/plain, */*',
 
-       'Content-Type': undefined
 
-     }
 
-   }
 
- };
 
- utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {
 
-   defaults.headers[method] = {};
 
- });
 
- export default defaults;
 
 
  |