2.0.62 • Published 9 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
9 months ago
2.0.61
10 months ago
2.0.59
10 months ago
2.0.60
10 months ago
2.0.58
10 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
12 months ago
2.0.55
12 months ago
2.0.56
12 months ago
2.0.53
12 months ago
2.0.54
12 months ago
2.0.51
12 months ago
2.0.52
12 months ago
2.0.50
12 months 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
1 year ago
2.0.20
1 year ago
2.0.21
1 year ago
2.0.19
1 year ago
2.0.18
1 year 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