mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-20 22:22:16 +01:00
feat: make API rate limits configurable via env vars (#1204)
* feat: make API rate limits configurable via env vars
This commit is contained in:
@@ -87,3 +87,7 @@ FORWARD_DB_PORT=54329
|
|||||||
VITE_HOST_NAME=vite.solidtime.test
|
VITE_HOST_NAME=vite.solidtime.test
|
||||||
VITE_APP_NAME="${APP_NAME}"
|
VITE_APP_NAME="${APP_NAME}"
|
||||||
#SAIL_XDEBUG_MODE=develop,debug,coverage
|
#SAIL_XDEBUG_MODE=develop,debug,coverage
|
||||||
|
|
||||||
|
# API rate limiting (requests per minute)
|
||||||
|
API_RATE_LIMIT_AUTH_PER_MINUTE=200
|
||||||
|
API_RATE_LIMIT_GUEST_PER_MINUTE=60
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ class RouteServiceProvider extends ServiceProvider
|
|||||||
}
|
}
|
||||||
|
|
||||||
return $request->user()
|
return $request->user()
|
||||||
? Limit::perMinute(200)->by($request->user()->id)
|
? Limit::perMinute(config('services.api.authenticated'))->by($request->user()->id)
|
||||||
: Limit::perMinute(60)->by($request->ip());
|
: Limit::perMinute(config('services.api.guest'))->by($request->ip());
|
||||||
});
|
});
|
||||||
|
|
||||||
$this->routes(function (): void {
|
$this->routes(function (): void {
|
||||||
|
|||||||
@@ -8,4 +8,8 @@ return [
|
|||||||
'basic_auth_username' => env('GOTENBERG_BASIC_AUTH_USERNAME'),
|
'basic_auth_username' => env('GOTENBERG_BASIC_AUTH_USERNAME'),
|
||||||
'basic_auth_password' => env('GOTENBERG_BASIC_AUTH_PASSWORD'),
|
'basic_auth_password' => env('GOTENBERG_BASIC_AUTH_PASSWORD'),
|
||||||
],
|
],
|
||||||
|
'api' => [
|
||||||
|
'authenticated' => (int) env('API_RATE_LIMIT_AUTH_PER_MINUTE', 200),
|
||||||
|
'guest' => (int) env('API_RATE_LIMIT_GUEST_PER_MINUTE', 60),
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user