3
votes

Obtenez le nombre de demandes dans Express

Je voudrais savoir s'il existe un moyen d'obtenir le nombre total de requêtes dans un certain chemin avec Expressjs?


1 commentaires

Pourquoi ne pas maintenir une variable de compteur et faire counter ++ à l'intérieur de la route? @Nicekor


3 Réponses :


2
votes

Pourquoi ne pas le compter vous-même?

let pingCount = 0;
app.get('/ping',(req, res) => {
  pingCount++;
  res.send(`ping world for ${pingCount} times`);
});


1 commentaires

J'ai fait de cette façon, j'étais curieux de savoir s'il y avait une méthode spécifique pour le faire. Je vous remercie!



2
votes

J'ai créé un middleware qui se joindra à tous les itinéraires et comptera les visites. Mettez ceci avant vos itinéraires dans app.js

let page_visits = {};
let visits = function (req, res, next) {
  let counter = page_visits[req.originalUrl];
  if(counter || counter === 0)
    page_visits[req.originalUrl] = counter + 1;
  else
    page_visits[req.originalUrl] = 0;
  console.log(req.originalUrl, counter);
  next();
};

app.use(visits);


2 commentaires

J'ai fait de cette façon, j'étais curieux de savoir s'il y avait une méthode spécifique qui le retournerait. Je vous remercie!


@Nicekor C'est bon d'entendre ça. Si vous trouvez la réponse utile, veuillez la voter.



1
votes
let count=0;

function countMiddleware(req,res,next){
count++;
if(next)next();
}

app.use(countMiddleware);
function countMiddleware is acting as middleware ,so it will be executed for every request.count variable is incremented for every request that is logged on your server

0 commentaires