-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathutils.js
More file actions
41 lines (39 loc) · 981 Bytes
/
utils.js
File metadata and controls
41 lines (39 loc) · 981 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const _setCorsHeaders = res => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Headers', '*');
res.setHeader('Access-Control-Allow-Methods', '*');
return res;
};
function getExt(fileName) {
const match = fileName.match(/\.([^\.]+)$/);
return match && match[1].toLowerCase();
}
const makePromise = () => {
let accept, reject;
const p = new Promise((a, r) => {
accept = a;
reject = r;
});
p.accept = accept;
p.reject = reject;
return p;
};
function parseQuery(queryString) {
const query = {};
const pairs = (queryString[0] === '?' ? queryString.substr(1) : queryString).split('&');
for (let i = 0; i < pairs.length; i++) {
const pair = pairs[i].split('=');
const k = decodeURIComponent(pair[0]);
if (k) {
const v = decodeURIComponent(pair[1] || '');
query[k] = v;
}
}
return query;
}
module.exports = {
_setCorsHeaders,
getExt,
makePromise,
parseQuery
}