Files
directus/packages/pressure
dependabot[bot] 6e537f0e76 Bump @vitest/coverage-v8 from 1.2.2 to 1.3.1 (#21512)
Bumps [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) from 1.2.2 to 1.3.1.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.3.1/packages/coverage-v8)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-22 02:16:48 +01:00
..
2023-11-20 16:23:22 +01:00
2023-11-20 16:23:22 +01:00
2023-09-26 21:14:27 +08:00

@directus/pressure

Pressure based rate limiter

Description

This package exports a pressure based rate limiter that is used within Directus, an open-source headless CMS.

For more information about Directus, visit the official website.

Installation

npm install @directus/pressure

Usage

Standalone

The pressure monitor is a class that can be used anywhere:

import { PressureMonitor } from '@directus/pressure';

const monitor = new PressureMonitor({
	maxEventLoopUtilization: 0.8,
});

monitor.overloaded; // true | false

Express

The library also exports an express middleware that can be used to throw an Error when the pressure monitor reports overloaded:

import express from 'express';
import { handlePressure } from '@directus/pressure';

const app = express();

app.use(
	handlePressure({
		maxEventLoopUtilization: 0.8,
	}),
);

License

This package is licensed under the MIT License. See the LICENSE file for more information.

Additional Resources