mirror of
https://github.com/tenrok/axios.git
synced 2026-06-14 18:42:33 +03:00
Added data URL support for node.js; (#4725)
* Added data URL support for node.js; Added missed data URL protocol for the browser environment; Optimized JSON parsing in the default response transformer; Refactored project structure; Added `cause` prop for AxiosError instance that refers to the original error if it was wrapped with `AxiosError.from` method; Added fromDataURI helper; Added test for handling data:url as an `arraybuffer|text|stream`; * Added throwing of 405 HTTP error if the method is not GET;
This commit is contained in:
Vendored
-2
@@ -1,2 +0,0 @@
|
||||
// eslint-disable-next-line strict
|
||||
module.exports = require('form-data');
|
||||
@@ -6,6 +6,7 @@ var AxiosError = require('../core/AxiosError');
|
||||
var transitionalDefaults = require('./transitional');
|
||||
var toFormData = require('../helpers/toFormData');
|
||||
var toURLEncodedForm = require('../helpers/toURLEncodedForm');
|
||||
var platform = require('../platform');
|
||||
|
||||
var DEFAULT_CONTENT_TYPE = {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
@@ -101,11 +102,13 @@ var defaults = {
|
||||
|
||||
transformResponse: [function transformResponse(data) {
|
||||
var transitional = this.transitional || defaults.transitional;
|
||||
var silentJSONParsing = transitional && transitional.silentJSONParsing;
|
||||
var forcedJSONParsing = transitional && transitional.forcedJSONParsing;
|
||||
var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';
|
||||
var JSONRequested = this.responseType === 'json';
|
||||
|
||||
if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {
|
||||
var silentJSONParsing = transitional && transitional.silentJSONParsing;
|
||||
var strictJSONParsing = !silentJSONParsing && JSONRequested;
|
||||
|
||||
if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {
|
||||
try {
|
||||
return JSON.parse(data);
|
||||
} catch (e) {
|
||||
@@ -134,7 +137,8 @@ var defaults = {
|
||||
maxBodyLength: -1,
|
||||
|
||||
env: {
|
||||
FormData: require('./env/FormData')
|
||||
FormData: platform.classes.FormData,
|
||||
Blob: platform.classes.Blob
|
||||
},
|
||||
|
||||
validateStatus: function validateStatus(status) {
|
||||
|
||||
Reference in New Issue
Block a user