@adonisjs/limiter
Version:
Rate limiting package for AdonisJS framework
31 lines (29 loc) • 876 B
JavaScript
import {
LimiterManager
} from "../chunk-POPJUEHR.js";
import "../chunk-C22TWIEE.js";
import "../chunk-RWNA5JOS.js";
import "../chunk-MLKGABMK.js";
// providers/limiter_provider.ts
import { configProvider } from "@adonisjs/core";
import { RuntimeException } from "@adonisjs/core/exceptions";
var LimiterProvider = class {
constructor(app) {
this.app = app;
}
register() {
this.app.container.singleton("limiter.manager", async () => {
const limiterConfigProvider = this.app.config.get("limiter", {});
const config = await configProvider.resolve(this.app, limiterConfigProvider);
if (!config) {
throw new RuntimeException(
'Invalid "config/limiter.ts" file. Make sure you are using the "defineConfig" method'
);
}
return new LimiterManager(config);
});
}
};
export {
LimiterProvider as default
};