-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathproxy.js
More file actions
33 lines (27 loc) · 770 Bytes
/
proxy.js
File metadata and controls
33 lines (27 loc) · 770 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
const request = require('request');
const express = require('express');
const app = express();
app.use(require('cors')());
var cache = {};
app.get('/lospec/palettes', (req, res) => {
let url = 'https://lospec.com/palette-list/load?' + query2string(req.query);
cache[url] ? res.send(cache[url]) : request.get(url, (err, res, body) => {
try {
cache[url] = JSON.parse(body);
} catch(err) { }
}).pipe(res);
});
app.use(express.static('./dist'))
app.listen(420, () => {
console.log(`@420`);
});
function query2string(query) {
let str = '';
for (let key in query) {
str += `${key}=${query[key]}&`
}
return str.substring(0, str.length - 1);
}
setInterval(() => {
cache = {};
}, 1e3 * 60 * 60 * 48);