mirror of
https://github.com/flyimg/flyimg.git
synced 2026-04-25 01:35:56 +03:00
[PR #594] [MERGED] feat: implement rate limiting functionality with configurable parameters and response headers #595
Labels
No labels
Docs
Docs
Docs
Security
UnitTest
bug
dependencies
duplicate
enhancement
enhancement
enhancement
hacktoberfest
help wanted
invalid
pull-request
question
stale
version 1
version 2
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/flyimg#595
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/flyimg/flyimg/pull/594
Author: @sadok-f
Created: 11/11/2025
Status: ✅ Merged
Merged: 11/14/2025
Merged by: @sadok-f
Base:
main← Head:issue#593📝 Commits (10+)
fafbad3feat: implement rate limiting functionality with configurable parameters and response headers483b582style: format code for consistency by adding spaces around conditionals and removing unnecessary blank lines1bc8138style: remove unnecessary blank line for improved code readabilityeb9099bfeat: implement Redis-based rate limiting and remove file-based implementation22fcda7style: remove unnecessary blank lines49402f6fix: conditionally enable rate limiting based on configuration parametercbd04c1style: remove unnecessary blank lines for improved code clarity75f61a1chore: remove rate limit strategy configuration from parameters and documentation for clarity36b0e33chore: update rate limit storage configuration to default to memory for clarity1076920chore: enhance rate limiting response headers and update documentation for clarity📊 Changes
20 files changed (+2370 additions, -281 deletions)
View changed files
📝
.github/workflows/ci.yml(+12 -1)📝
app.php(+13 -1)📝
composer.json(+2 -1)📝
composer.lock(+471 -275)📝
config/parameters.yml(+28 -0)➕
docs/rate-limiting.md(+253 -0)📝
mkdocs.yml(+1 -0)📝
src/Core/Controller/DefaultController.php(+0 -1)📝
src/Core/Entity/Image/OutputImage.php(+19 -0)📝
src/Core/Entity/Response.php(+14 -0)➕
src/Core/Exception/RateLimitExceededException.php(+33 -0)📝
src/Core/Handler/ImageHandler.php(+23 -2)➕
src/Core/Handler/RateLimitHandler.php(+134 -0)➕
src/Core/RateLimiter/FileRateLimiter.php(+171 -0)➕
src/Core/RateLimiter/RateLimiterFactory.php(+73 -0)➕
src/Core/RateLimiter/RateLimiterInterface.php(+45 -0)➕
src/Core/RateLimiter/RedisRateLimiter.php(+229 -0)➕
tests/Core/Handler/RateLimitHandlerTest.php(+166 -0)➕
tests/Core/RateLimiter/FileRateLimiterTest.php(+507 -0)➕
tests/Core/RateLimiter/RedisRateLimiterTest.php(+176 -0)📄 Description
feat: implement rate limiting functionality with configurable parameters and response headers, closes #593
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.