mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-05-06 11:09:18 +02:00
Move RateLimit cache dir from src/cache/ to storage/cache/rate_limit/
The default cache directory for the file-based rate limiter was src/cache/rate_limit/, placing transient JSON files inside the source tree. This meant: - The directory was deployed via rsync on every deploy (wasted I/O) - .gitignore had to track a src/-internal path - Developers running tests could leave stale cache state in the source tree Changes: - src/RateLimit.php: default $cacheDir changed from __DIR__.'/cache/rate_limit' to dirname(__DIR__).'/storage/cache/rate_limit'; dirname(__DIR__) resolves to the project root regardless of how the file is loaded (with or without bootstrap) - .gitignore: replaced 'src/cache/rate_limit/' with 'storage/cache/' (broader, covers any future cache subdirs under storage/) - storage/cache/.gitkeep: added so the directory is tracked in VCS and created on fresh clones/deploys, but its contents are ignored - justfile: added '--exclude storage/cache/*' to the deploy rsync recipe so rate-limit state is never transferred to the server - src/cache/: removed (no longer needed) All RateLimit unit tests pass.
This commit is contained in:
@@ -18,7 +18,7 @@ class RateLimit {
|
||||
public function __construct($maxRequests = 30, $timeWindow = 60, $cacheDir = null) {
|
||||
$this->maxRequests = $maxRequests;
|
||||
$this->timeWindow = $timeWindow;
|
||||
$this->cacheDir = $cacheDir ?? __DIR__ . '/cache/rate_limit';
|
||||
$this->cacheDir = $cacheDir ?? dirname(__DIR__) . '/storage/cache/rate_limit';
|
||||
|
||||
// Create cache directory if it doesn't exist
|
||||
if (!is_dir($this->cacheDir)) {
|
||||
|
||||
Reference in New Issue
Block a user