MCPcopy Create free account
hub / github.com/CoderOpen/waimai / buildURL

Function buildURL

front/utils/luch-request/helpers/buildURL.js:23–69  ·  view source on GitHub ↗
(url, params)

Source from the content-addressed store, hash-verified

21 * @returns {string} The formatted url
22 */
23export default function buildURL(url, params) {
24 /*eslint no-param-reassign:0*/
25 if (!params) {
26 return url
27 }
28
29 var serializedParams
30 if (utils.isURLSearchParams(params)) {
31 serializedParams = params.toString()
32 } else {
33 var parts = []
34
35 utils.forEach(params, function serialize(val, key) {
36 if (val === null || typeof val === 'undefined') {
37 return
38 }
39
40 if (utils.isArray(val)) {
41 key = key + '[]'
42 } else {
43 val = [val]
44 }
45
46 utils.forEach(val, function parseValue(v) {
47 if (utils.isDate(v)) {
48 v = v.toISOString()
49 } else if (utils.isObject(v)) {
50 v = JSON.stringify(v)
51 }
52 parts.push(encode(key) + '=' + encode(v))
53 })
54 })
55
56 serializedParams = parts.join('&')
57 }
58
59 if (serializedParams) {
60 var hashmarkIndex = url.indexOf('#')
61 if (hashmarkIndex !== -1) {
62 url = url.slice(0, hashmarkIndex)
63 }
64
65 url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams
66 }
67
68 return url
69}

Callers 3

requestMethod · 0.85
uploadMethod · 0.85
downloadMethod · 0.85

Calls 1

encodeFunction · 0.85

Tested by

no test coverage detected