<commit_before># Express Request Rate Limitter

Node.js ExpressJs configurable requests rate limitter middlewear on Redis.
This is very handy for API's. This middlewear calculates requests per minue and gives Rate-Limit headers for each type of request method: GET, POST, PUT, DELETE
If limit is reached, it will send HTTP 429 Too May requests response (http://httpstatusdogs.com/429-too-many-requests)

  - X-Rate-Limit-Limit: Maximum limit for given method
  - X-Rate-Limit-Remaining: Remaining requests count
  - X-Rate-Limit-Reset: When this limit will be reset, timestamp unix epoch

## Installation
```sh
cd node_modules/
git clone https://github.com/emarukyan/express-req-rate-limitter-redis
```

Create Redis client somehow
```javascript<commit_msg>fill in README<commit_after># Express Request Rate Limitter

Node.js ExpressJs configurable requests rate limitter middlewear on Redis.
This is very handy for API's. This middlewear calculates requests per minue and gives Rate-Limit headers for each type of request method: GET, POST, PUT, DELETE
If limit is reached, it will send HTTP 429 Too May requests response (http://httpstatusdogs.com/429-too-many-requests)
Rate limit applies to req.user if any, or to IP as a fallback.

  - X-Rate-Limit-Limit: Maximum limit for given method
  - X-Rate-Limit-Remaining: Remaining requests count
  - X-Rate-Limit-Reset: When this limit will be reset, timestamp unix epoch

## Installation
```sh
cd node_modules/
git clone https://github.com/emarukyan/express-req-rate-limitter-redis
```

Create Redis client somehow
```javascript
{'fraction_non_alphanumeric': 0.08048162230671736, 'fraction_numerical': 0.0076045627376425855, 'mean_word_length': 4.559859154929577, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3412777', 'n_tokens_mistral': 469, 'n_tokens_neox': 442, 'n_words': 186}