Ahmad Schinner commited on
Commit
3f48589
·
verified ·
1 Parent(s): 83ed759

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +36 -0
index.js CHANGED
@@ -108,6 +108,42 @@ async function sendRequestAndSetGlobals() {
108
 
109
  setInterval(sendRequestAndSetGlobals, 3600000);
110
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
 
112
  app.get('/whois', async (req, res) => {
113
  const { domain } = req.query;
 
108
 
109
  setInterval(sendRequestAndSetGlobals, 3600000);
110
 
111
+ let requestsCount = 0;
112
+ let totalTime = 0;
113
+ let domainsQueried = {};
114
+
115
+ app.use((req, res, next) => {
116
+ const startTime = Date.now();
117
+ requestsCount++;
118
+ next();
119
+ const endTime = Date.now();
120
+ totalTime += endTime - startTime;
121
+ const averageResponseTime = totalTime / requestsCount;
122
+
123
+ // track domains queried
124
+ if (req.query.domain) {
125
+ const domain = req.query.domain;
126
+ if (!domainsQueried[domain]) {
127
+ domainsQueried[domain] = 1;
128
+ } else {
129
+ domainsQueried[domain]++;
130
+ }
131
+ }
132
+ });
133
+
134
+ app.get('/stats', (req, res) => {
135
+ const stats = {
136
+ requestsCount,
137
+ averageResponseTime,
138
+ uptime: process.uptime(),
139
+ domainsQueried: Object.keys(domainsQueried).map((domain) => ({
140
+ domain,
141
+ count: domainsQueried[domain],
142
+ })),
143
+ };
144
+
145
+ res.json(stats);
146
+ });
147
 
148
  app.get('/whois', async (req, res) => {
149
  const { domain } = req.query;