-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcomposer.json
More file actions
90 lines (90 loc) · 2.77 KB
/
Copy pathcomposer.json
File metadata and controls
90 lines (90 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
"name": "maatify/rate-limiter",
"description": "Flexible PSR-15 rate limiter supporting Redis, MongoDB, and MySQL via real and fake drivers. Provides multi-strategy algorithms, burst control, sliding window, token bucket, and integration with Maatify Data Repository.",
"keywords": [
"maatify",
"rate-limiter",
"rate-limit",
"throttle",
"middleware",
"psr-15",
"psr-7",
"redis",
"mongo",
"mysql",
"pdo",
"limit",
"token-bucket",
"leaky-bucket",
"sliding-window",
"traffic-control"
],
"support": {
"issues": "https://github.com/Maatify/rate-limiter/issues",
"source": "https://github.com/Maatify/rate-limiter",
"docs": "https://github.com/Maatify/rate-limiter/tree/main/docs"
},
"type": "library",
"license": "MIT",
"authors": [
{
"name": "Mohamed Abdulalim",
"email": "mohamed@maatify.dev",
"homepage": "https://www.maatify.dev",
"role": "Backend Lead & Technical Architect"
},
{
"name": "Maatify.dev",
"homepage": "https://github.com/Maatify",
"role": "Organization"
}
],
"autoload": {
"psr-4": {
"Maatify\\RateLimiter\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Maatify\\RateLimiter\\Tests\\": "tests/"
}
},
"config": {
"sort-packages": true
},
"require": {
"php": ">=8.4",
"maatify/psr-logger": "^1.0",
"psr/http-message": "^2.0",
"psr/http-server-handler": "^1.0",
"psr/http-server-middleware": "^1.0"
},
"suggest": {
"maatify/data-repository": "Use repository abstraction across Redis, MySQL, Mongo with FakeAdapters support.",
"maatify/data-fakes": "Test the rate limiter using deterministic in-memory fake drivers.",
"maatify/data-adapters": "Real adapter support for Redis, MongoDB, MySQL drivers.",
"predis/predis": "Redis fallback when ext-redis is unavailable.",
"ext-redis": "High-performance RedisAdapter.",
"ext-pdo": "Required for MySQLAdapter (PDO driver).",
"ext-mongodb": "Required for MongoAdapter.",
"mongodb/mongodb": "Needed if using MongoAdapter.",
"doctrine/dbal": "Optional advanced SQL driver for MySQLDbalAdapter."
},
"require-dev": {
"phpunit/phpunit": "^11.0",
"phpstan/phpstan": "^2.0",
"friendsofphp/php-cs-fixer": "^3.60",
"maatify/data-fakes": "^1.0",
"doctrine/dbal": "^4.3",
"predis/predis": "^2.3",
"mongodb/mongodb": "^2.0"
},
"scripts": {
"analyse": "phpstan analyse src tests --level=max",
"test": "phpunit --configuration phpunit.no-coverage.xml.dist",
"test:coverage": "XDEBUG_MODE=coverage phpunit --configuration phpunit.xml.dist --coverage-text --coverage-html coverage",
"format": "php-cs-fixer fix"
},
"minimum-stability": "stable",
"prefer-stable": true
}