2.0.62 • Published 10 months ago

@mondrian-framework/rate-limiter v2.0.62

Weekly downloads
-
License
-
Repository
-
Last release
10 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

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