UNPKG

axios

Version:

Promise based HTTP client for the browser and node.js

28 lines (24 loc) 907 B
'use strict'; const FORM_DATA_CONTENT_HEADERS = ['content-type', 'content-length']; /** * Apply the headers generated by a FormData implementation to the request headers, * honoring the `formDataHeaderPolicy` option: with 'content-only', copy only the * content-* headers; otherwise merge all of them. * * @param {AxiosHeaders} headers - the request headers to mutate * @param {Object | null | undefined} formHeaders - headers produced by the FormData implementation * @param {String} [policy] - the resolved `formDataHeaderPolicy` config value * * @returns {void} */ export default function setFormDataHeaders(headers, formHeaders, policy) { if (policy !== 'content-only') { headers.set(formHeaders); return; } Object.entries(formHeaders || {}).forEach(([key, val]) => { if (FORM_DATA_CONTENT_HEADERS.includes(key.toLowerCase())) { headers.set(key, val); } }); }