Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MR414N-ID
GitHub Repository: MR414N-ID/botku2
Path: blob/master/node_modules/axios/lib/defaults.js
1126 views
1
'use strict';
2
3
var utils = require('./utils');
4
var normalizeHeaderName = require('./helpers/normalizeHeaderName');
5
var enhanceError = require('./core/enhanceError');
6
7
var DEFAULT_CONTENT_TYPE = {
8
'Content-Type': 'application/x-www-form-urlencoded'
9
};
10
11
function setContentTypeIfUnset(headers, value) {
12
if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
13
headers['Content-Type'] = value;
14
}
15
}
16
17
function getDefaultAdapter() {
18
var adapter;
19
if (typeof XMLHttpRequest !== 'undefined') {
20
// For browsers use XHR adapter
21
adapter = require('./adapters/xhr');
22
} else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
23
// For node use HTTP adapter
24
adapter = require('./adapters/http');
25
}
26
return adapter;
27
}
28
29
function stringifySafely(rawValue, parser, encoder) {
30
if (utils.isString(rawValue)) {
31
try {
32
(parser || JSON.parse)(rawValue);
33
return utils.trim(rawValue);
34
} catch (e) {
35
if (e.name !== 'SyntaxError') {
36
throw e;
37
}
38
}
39
}
40
41
return (encoder || JSON.stringify)(rawValue);
42
}
43
44
var defaults = {
45
46
transitional: {
47
silentJSONParsing: true,
48
forcedJSONParsing: true,
49
clarifyTimeoutError: false
50
},
51
52
adapter: getDefaultAdapter(),
53
54
transformRequest: [function transformRequest(data, headers) {
55
normalizeHeaderName(headers, 'Accept');
56
normalizeHeaderName(headers, 'Content-Type');
57
58
if (utils.isFormData(data) ||
59
utils.isArrayBuffer(data) ||
60
utils.isBuffer(data) ||
61
utils.isStream(data) ||
62
utils.isFile(data) ||
63
utils.isBlob(data)
64
) {
65
return data;
66
}
67
if (utils.isArrayBufferView(data)) {
68
return data.buffer;
69
}
70
if (utils.isURLSearchParams(data)) {
71
setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
72
return data.toString();
73
}
74
if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {
75
setContentTypeIfUnset(headers, 'application/json');
76
return stringifySafely(data);
77
}
78
return data;
79
}],
80
81
transformResponse: [function transformResponse(data) {
82
var transitional = this.transitional || defaults.transitional;
83
var silentJSONParsing = transitional && transitional.silentJSONParsing;
84
var forcedJSONParsing = transitional && transitional.forcedJSONParsing;
85
var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';
86
87
if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {
88
try {
89
return JSON.parse(data);
90
} catch (e) {
91
if (strictJSONParsing) {
92
if (e.name === 'SyntaxError') {
93
throw enhanceError(e, this, 'E_JSON_PARSE');
94
}
95
throw e;
96
}
97
}
98
}
99
100
return data;
101
}],
102
103
/**
104
* A timeout in milliseconds to abort a request. If set to 0 (default) a
105
* timeout is not created.
106
*/
107
timeout: 0,
108
109
xsrfCookieName: 'XSRF-TOKEN',
110
xsrfHeaderName: 'X-XSRF-TOKEN',
111
112
maxContentLength: -1,
113
maxBodyLength: -1,
114
115
validateStatus: function validateStatus(status) {
116
return status >= 200 && status < 300;
117
},
118
119
headers: {
120
common: {
121
'Accept': 'application/json, text/plain, */*'
122
}
123
}
124
};
125
126
utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
127
defaults.headers[method] = {};
128
});
129
130
utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
131
defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
132
});
133
134
module.exports = defaults;
135
136