Skip to content

Commit 12424a6

Browse files
Clearing only on new/update endpoint access
1 parent 91b21df commit 12424a6

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

dd-java-agent/appsec/src/main/java/com/datadog/appsec/api/security/ApiAccessTracker.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,24 +52,25 @@ public boolean updateApiAccessIfExpired(String route, String method, int statusC
5252
long currentTime = System.currentTimeMillis();
5353
long hash = computeApiHash(route, method, statusCode);
5454

55-
cleanupExpiredEntries(currentTime);
56-
5755
// New or updated record
5856
boolean isNewOrUpdated = false;
5957
if (!apiAccessMap.containsKey(hash)
6058
|| currentTime - apiAccessMap.get(hash) > expirationTimeInMs) {
59+
60+
cleanupExpiredEntries(currentTime);
61+
6162
apiAccessMap.put(hash, currentTime); // Update timestamp
6263
// move hash to the end of the queue
6364
apiAccessQueue.remove(hash);
6465
apiAccessQueue.addLast(hash);
6566
isNewOrUpdated = true;
66-
}
6767

68-
// Remove the oldest hash if capacity is reached
69-
while (apiAccessQueue.size() > this.capacity) {
70-
Long oldestHash = apiAccessQueue.pollFirst();
71-
if (oldestHash != null) {
72-
apiAccessMap.remove(oldestHash);
68+
// Remove the oldest hash if capacity is reached
69+
while (apiAccessQueue.size() > this.capacity) {
70+
Long oldestHash = apiAccessQueue.pollFirst();
71+
if (oldestHash != null) {
72+
apiAccessMap.remove(oldestHash);
73+
}
7374
}
7475
}
7576

0 commit comments

Comments
 (0)