-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
57 lines (49 loc) · 1.42 KB
/
Copy pathindex.js
File metadata and controls
57 lines (49 loc) · 1.42 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
49
50
51
52
53
54
55
56
const express = require('express');
const fetch = require('node-fetch')
const config = require('./app/config');
const CFG = config();
const cf = require('cloudflare')({
email: CFG.email,
key: CFG.CFKey
});
// Express listener
const app = express()
app.use(express.static('public'));
app.listen(3000, function(err) {
if(err){
console.log(err);
} else {
console.log("listen:3000");
}
});
// Express router
app.get('/', function (req, res) {
res.send('node up');
});
app.get('/info', async function (req, res) {
let dataset = [];
let weHaveMore = true;
let pg = 1;
const per_page = 50;
while (weHaveMore) {
try {
let response = await cf.zones.browse({page: pg, per_page: per_page});
dataset = dataset.concat(response.result);
// console.log(response.result.length);
pg += 1;
if (response.result.length < per_page) {
weHaveMore = false;
}
} catch(err) {
weHaveMore = false;
};
};
let page = '<html><head></head><body><table>'
console.log('listing ' + dataset.length + ' zones');
dataset.forEach(element => {
page += '<tr><td>' + element.name + '</td><td>' + element.status + '</td><td>' + element.plan.name + '</td></tr>';
});
page += '</table></body></html>'
res.send(page);
// console.log(dataset[1]);
});