MCPcopy
hub / github.com/axios/axios / set

Method set

lib/core/AxiosHeaders.js:85–139  ·  view source on GitHub ↗
(header, valueOrRewrite, rewrite)

Source from the content-addressed store, hash-verified

83 }
84
85 set(header, valueOrRewrite, rewrite) {
86 const self = this;
87
88 function setHeader(_value, _header, _rewrite) {
89 const lHeader = normalizeHeader(_header);
90
91 if (!lHeader) {
92 return;
93 }
94
95 const key = utils.findKey(self, lHeader);
96
97 if (
98 !key ||
99 self[key] === undefined ||
100 _rewrite === true ||
101 (_rewrite === undefined && self[key] !== false)
102 ) {
103 self[key || _header] = normalizeValue(_value);
104 }
105 }
106
107 const setHeaders = (headers, _rewrite) =>
108 utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
109
110 if (utils.isPlainObject(header) || header instanceof this.constructor) {
111 setHeaders(header, valueOrRewrite);
112 } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
113 setHeaders(parseHeaders(header), valueOrRewrite);
114 } else if (utils.isObject(header) && utils.isSafeIterable(header)) {
115 let obj = Object.create(null),
116 dest,
117 key;
118 for (const entry of header) {
119 if (!utils.isArray(entry)) {
120 throw new TypeError('Object iterator must return a key-value pair');
121 }
122
123 key = entry[0];
124
125 if (utils.hasOwnProp(obj, key)) {
126 dest = obj[key];
127 obj[key] = utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]];
128 } else {
129 obj[key] = entry[1];
130 }
131 }
132
133 setHeaders(obj, valueOrRewrite);
134 } else {
135 header != null && setHeader(valueOrRewrite, header, rewrite);
136 }
137
138 return this;
139 }
140
141 get(header, parser) {
142 header = normalizeHeader(header);

Callers 15

constructorMethod · 0.95
concatMethod · 0.80
setFormDataHeadersFunction · 0.80
resolveConfigFunction · 0.80
factoryFunction · 0.80
getFetchFunction · 0.80
setFormDataHeadersFunction · 0.80
getTunnelingAgentFunction · 0.80
http.jsFile · 0.80
esm-added-types.tsFile · 0.80
esm-index.tsFile · 0.80
cjs-typing.tsFile · 0.80

Calls 2

isValidHeaderNameFunction · 0.85
createMethod · 0.80

Tested by

no test coverage detected