-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
48 lines (36 loc) · 1.16 KB
/
Copy pathserver.js
File metadata and controls
48 lines (36 loc) · 1.16 KB
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
42
43
44
45
46
47
48
let express = require('express');
const fetch = require('node-fetch');
let {memoryCache} = require('./middlewares/cache');
let server = express();
server.get('/products', memoryCache(10),(req, res) =>{
const url = `https://devarc.herokuapp.com/products`;
console.time('cache');
getProducts(url).then( products => {
//console.log(products);
res.json(products);
}).then( ()=> {
console.timeEnd('cache');
console.log('Fin')
});
});
server.get('/products/search/re', memoryCache(10),(req, res) =>{
const url = `https://devarc.herokuapp.com/products/search/re`;
console.time('cacheByDesc');
getProducts(url).then( products => {
//console.log(products);
res.json(products);
}).then( ()=> {
console.timeEnd('cacheByDesc');
console.log('Fin cacheByDesc')
});
});
server.listen(8080, () =>{
console.log('Server started');
});
let getProducts = async (url) => {
const response = await fetch(url).catch(err => console.error(err));
let data = await response.json();
data = data.products;
//console.log(data);
return data;
};