This commit is contained in:
Tobias Hopp 2021-08-30 09:27:44 +02:00
commit 90d1bd5682

View File

@ -32,7 +32,28 @@ const apiResponse = {
data: null data: null
}; };
const apiRequests = { '127.0.0.1': 0 };
app.get( '/api/getDeviceStatus/:ipAddress', async ( req, res ) => { app.get( '/api/getDeviceStatus/:ipAddress', async ( req, res ) => {
if( apiRequests[req.socket.remoteAddress] )
{
if( apiRequests[req.socket.remoteAddress] > 100 )
{
res.status( 429 );
res.end();
return;
}
else
{
apiRequests[req.socket.remoteAddress]++;
setTimeout( () => { apiRequests[req.socket.remoteAddress]--; }, 5000 );
}
}
else
{
apiRequests[req.socket.remoteAddress] = 1;
}
console.log( 'Loading device status for ' + req.params.ipAddress + '...' ); console.log( 'Loading device status for ' + req.params.ipAddress + '...' );
let ping_response = await ping.promise.probe(req.params.ipAddress, { let ping_response = await ping.promise.probe(req.params.ipAddress, {