├── .editorconfig ├── .env ├── .env.example ├── .github └── workflows │ ├── checks.yml │ ├── labels.yml │ ├── release.yml │ └── stale.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── LICENSE.md ├── README.md ├── bin └── test.ts ├── configure.ts ├── docker-compose.yml ├── eslint.config.js ├── index.ts ├── package.json ├── providers └── limiter_provider.ts ├── services └── main.ts ├── src ├── debug.ts ├── define_config.ts ├── errors.ts ├── http_limiter.ts ├── limiter.ts ├── limiter_manager.ts ├── multi_limiter.ts ├── response.ts ├── stores │ ├── bridge.ts │ ├── database.ts │ ├── memory.ts │ └── redis.ts └── types.ts ├── stubs ├── config │ └── limiter.stub ├── main.ts ├── make │ └── migration │ │ └── rate_limits.stub └── start │ └── limiter.stub ├── tests ├── configure.spec.ts ├── define_config.spec.ts ├── helpers.ts ├── http_limiter.spec.ts ├── limiter.spec.ts ├── limiter_manager.spec.ts ├── limiter_provider.spec.ts ├── multi_limiter.spec.ts ├── stores │ ├── database.spec.ts │ ├── memory.spec.ts │ └── redis.spec.ts ├── throttle_exception.spec.ts └── throttle_middleware.spec.ts └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/.env -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/.env.example -------------------------------------------------------------------------------- /.github/workflows/checks.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/.github/workflows/checks.yml -------------------------------------------------------------------------------- /.github/workflows/labels.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/.github/workflows/labels.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/.github/workflows/stale.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | package-lock=false 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | build 2 | docs 3 | *.html 4 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/README.md -------------------------------------------------------------------------------- /bin/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/bin/test.ts -------------------------------------------------------------------------------- /configure.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/configure.ts -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/eslint.config.js -------------------------------------------------------------------------------- /index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/index.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/package.json -------------------------------------------------------------------------------- /providers/limiter_provider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/providers/limiter_provider.ts -------------------------------------------------------------------------------- /services/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/services/main.ts -------------------------------------------------------------------------------- /src/debug.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/debug.ts -------------------------------------------------------------------------------- /src/define_config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/define_config.ts -------------------------------------------------------------------------------- /src/errors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/errors.ts -------------------------------------------------------------------------------- /src/http_limiter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/http_limiter.ts -------------------------------------------------------------------------------- /src/limiter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/limiter.ts -------------------------------------------------------------------------------- /src/limiter_manager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/limiter_manager.ts -------------------------------------------------------------------------------- /src/multi_limiter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/multi_limiter.ts -------------------------------------------------------------------------------- /src/response.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/response.ts -------------------------------------------------------------------------------- /src/stores/bridge.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/stores/bridge.ts -------------------------------------------------------------------------------- /src/stores/database.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/stores/database.ts -------------------------------------------------------------------------------- /src/stores/memory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/stores/memory.ts -------------------------------------------------------------------------------- /src/stores/redis.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/stores/redis.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/src/types.ts -------------------------------------------------------------------------------- /stubs/config/limiter.stub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/stubs/config/limiter.stub -------------------------------------------------------------------------------- /stubs/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/stubs/main.ts -------------------------------------------------------------------------------- /stubs/make/migration/rate_limits.stub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/stubs/make/migration/rate_limits.stub -------------------------------------------------------------------------------- /stubs/start/limiter.stub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/stubs/start/limiter.stub -------------------------------------------------------------------------------- /tests/configure.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/configure.spec.ts -------------------------------------------------------------------------------- /tests/define_config.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/define_config.spec.ts -------------------------------------------------------------------------------- /tests/helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/helpers.ts -------------------------------------------------------------------------------- /tests/http_limiter.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/http_limiter.spec.ts -------------------------------------------------------------------------------- /tests/limiter.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/limiter.spec.ts -------------------------------------------------------------------------------- /tests/limiter_manager.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/limiter_manager.spec.ts -------------------------------------------------------------------------------- /tests/limiter_provider.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/limiter_provider.spec.ts -------------------------------------------------------------------------------- /tests/multi_limiter.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/multi_limiter.spec.ts -------------------------------------------------------------------------------- /tests/stores/database.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/stores/database.spec.ts -------------------------------------------------------------------------------- /tests/stores/memory.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/stores/memory.spec.ts -------------------------------------------------------------------------------- /tests/stores/redis.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/stores/redis.spec.ts -------------------------------------------------------------------------------- /tests/throttle_exception.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/throttle_exception.spec.ts -------------------------------------------------------------------------------- /tests/throttle_middleware.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tests/throttle_middleware.spec.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adonisjs/limiter/HEAD/tsconfig.json --------------------------------------------------------------------------------