2.0.62 • Published 10 months ago
@mondrian-framework/rate-limiter v2.0.62
Rate limiter
Inspired by Cloudflare
Install
npm install @mondrian-framework/rate-limiter
Usage
import { functions } from '@mondrian-framework/module'
import { rateLimiter } from '@mondrian-framework/rate-limiter'
import { RedisStore, Store } from '@mondrian-framework/rate-limiter'
import { createClient } from '@redis/client'
const redisClient = process.env.REDIS_URL ? createClient() : undefined
redisClient?.on('error', (err) => console.log('Redis Client Error', err))
redisClient?.connect()
const store: Store | undefined = redisClient && new RedisStore(redisClient)
const rateLimitByIpGuard = rateLimiter.buildGuard({
errors: { tooManyRequests },
key: ({ ip }: { ip: string }) => ip,
onLimit: () => ({ tooManyRequests: { details: { limitedBy: 'ip' as const } } }),
rate: '100 requests in 1 hours',
store,
})
const rateLimitByEmailProvider = rateLimiter.buildProvider({
rate: '10 requests in 1 minute',
store,
})
//asign provider or guard to functions...
2.0.62
10 months ago
2.0.61
10 months ago
2.0.59
11 months ago
2.0.60
11 months ago
2.0.58
11 months ago
2.0.48
1 year ago
2.0.49
1 year ago
2.0.46
1 year ago
2.0.47
1 year ago
2.0.44
1 year ago
2.0.45
1 year ago
2.0.43
1 year ago
2.0.57
1 year ago
2.0.55
1 year ago
2.0.56
1 year ago
2.0.53
1 year ago
2.0.54
1 year ago
2.0.51
1 year ago
2.0.52
1 year ago
2.0.50
1 year ago
2.0.42
1 year ago
2.0.41
1 year ago
2.0.39
1 year ago
2.0.40
1 year ago
2.0.38
1 year ago
2.0.37
1 year ago
2.0.36
1 year ago
2.0.35
1 year ago
2.0.34
1 year ago
2.0.33
1 year ago
2.0.32
1 year ago
2.0.31
1 year ago
2.0.30
1 year ago
2.0.28
1 year ago
2.0.29
1 year ago
2.0.27
1 year ago
2.0.26
1 year ago
2.0.25
1 year ago
2.0.24
1 year ago
2.0.23
1 year ago
2.0.22
2 years ago
2.0.20
2 years ago
2.0.21
2 years ago
2.0.19
2 years ago
2.0.18
2 years ago
2.0.17
2 years ago
2.0.16
2 years ago
2.0.15
2 years ago
2.0.13
2 years ago
2.0.14
2 years ago
2.0.12
2 years ago
2.0.11
2 years ago
2.0.10
2 years ago
2.0.9
2 years ago
2.0.8
2 years ago
2.0.7
2 years ago
2.0.6
2 years ago
2.0.5
2 years ago
2.0.4
2 years ago
2.0.3
2 years ago
2.0.2
2 years ago
2.0.1
2 years ago
2.0.0
2 years ago
0.0.1
2 years ago