2.0.62 • Published 9 months ago

@mondrian-framework/rate-limiter v2.0.62

Weekly downloads
-
License
-
Repository
-
Last release
9 months ago

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