diff options
author | Minteck <contact@minteck.org> | 2022-05-08 13:18:04 +0200 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-05-08 13:18:04 +0200 |
commit | 16da8f48c7328c334a5c0d863078fd00257ae6b4 (patch) | |
tree | 4ab80e4106c4c7a61e5a7caf6102d612b8dd985d /fetcher/node_modules/axios/lib/helpers/buildURL.js | |
download | downloadcenter-16da8f48c7328c334a5c0d863078fd00257ae6b4.tar.gz downloadcenter-16da8f48c7328c334a5c0d863078fd00257ae6b4.tar.bz2 downloadcenter-16da8f48c7328c334a5c0d863078fd00257ae6b4.zip |
Initial commit
Diffstat (limited to 'fetcher/node_modules/axios/lib/helpers/buildURL.js')
-rw-r--r-- | fetcher/node_modules/axios/lib/helpers/buildURL.js | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/fetcher/node_modules/axios/lib/helpers/buildURL.js b/fetcher/node_modules/axios/lib/helpers/buildURL.js new file mode 100644 index 0000000..31595c3 --- /dev/null +++ b/fetcher/node_modules/axios/lib/helpers/buildURL.js @@ -0,0 +1,70 @@ +'use strict'; + +var utils = require('./../utils'); + +function encode(val) { + return encodeURIComponent(val). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ +module.exports = function buildURL(url, params, paramsSerializer) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === 'undefined') { + return; + } + + if (utils.isArray(val)) { + key = key + '[]'; + } else { + val = [val]; + } + + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + '=' + encode(v)); + }); + }); + + serializedParams = parts.join('&'); + } + + if (serializedParams) { + var hashmarkIndex = url.indexOf('#'); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +}; |