mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-08 06:27:40 +00:00
misc: name updates and more comments
This commit is contained in:
@@ -1,35 +1,40 @@
|
|||||||
import fp from "fastify-plugin";
|
import fp from "fastify-plugin";
|
||||||
|
|
||||||
import { getRateLimiterConfig } from "@app/ee/services/rate-limit/rate-limit-service";
|
import { getRateLimiterConfig } from "@app/ee/services/rate-limit/rate-limit-service";
|
||||||
|
import { getConfig } from "@app/lib/config/env";
|
||||||
|
|
||||||
export const injectRateLimits = fp(async (server) => {
|
export const injectRateLimits = fp(async (server) => {
|
||||||
server.decorateRequest("rateLimits", null);
|
server.decorateRequest("rateLimits", null);
|
||||||
server.addHook("onRequest", async (req) => {
|
server.addHook("onRequest", async (req) => {
|
||||||
const defaultRateLimiterConfig = getRateLimiterConfig();
|
const appCfg = getConfig();
|
||||||
|
|
||||||
|
const instanceRateLimiterConfig = getRateLimiterConfig();
|
||||||
if (!req.auth) {
|
if (!req.auth) {
|
||||||
// for public endpoints
|
// for public endpoints, we always use the instance-wide default rate limits
|
||||||
req.rateLimits = defaultRateLimiterConfig;
|
req.rateLimits = instanceRateLimiterConfig;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const plan = await server.services.license.getPlan(req.auth.orgId);
|
const plan = await server.services.license.getPlan(req.auth.orgId);
|
||||||
const { rateLimits } = plan;
|
const { rateLimits } = plan;
|
||||||
|
|
||||||
if (plan.customRateLimits) {
|
if (plan.customRateLimits && !appCfg.isCloud) {
|
||||||
req.rateLimits = defaultRateLimiterConfig;
|
// we do this because for self-hosted/dedicated instances, we want custom rate limits to be based on admin configuration
|
||||||
|
// note that the syncing of custom rate limit happens on the instanceRateLimiterConfig object
|
||||||
|
req.rateLimits = instanceRateLimiterConfig;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// we're using the null coalescing operator in order to handle outdated licenses
|
// we're using the null coalescing operator in order to handle outdated licenses
|
||||||
req.rateLimits = {
|
req.rateLimits = {
|
||||||
readLimit: rateLimits?.readLimit ?? defaultRateLimiterConfig.readLimit,
|
readLimit: rateLimits?.readLimit ?? instanceRateLimiterConfig.readLimit,
|
||||||
publicEndpointLimit: rateLimits?.publicEndpointLimit ?? defaultRateLimiterConfig.publicEndpointLimit,
|
publicEndpointLimit: rateLimits?.publicEndpointLimit ?? instanceRateLimiterConfig.publicEndpointLimit,
|
||||||
writeLimit: rateLimits?.writeLimit ?? defaultRateLimiterConfig.writeLimit,
|
writeLimit: rateLimits?.writeLimit ?? instanceRateLimiterConfig.writeLimit,
|
||||||
secretsLimit: rateLimits?.secretsLimit ?? defaultRateLimiterConfig.secretsLimit,
|
secretsLimit: rateLimits?.secretsLimit ?? instanceRateLimiterConfig.secretsLimit,
|
||||||
authRateLimit: rateLimits?.authRateLimit ?? defaultRateLimiterConfig.authRateLimit,
|
authRateLimit: rateLimits?.authRateLimit ?? instanceRateLimiterConfig.authRateLimit,
|
||||||
inviteUserRateLimit: rateLimits?.inviteUserRateLimit ?? defaultRateLimiterConfig.inviteUserRateLimit,
|
inviteUserRateLimit: rateLimits?.inviteUserRateLimit ?? instanceRateLimiterConfig.inviteUserRateLimit,
|
||||||
mfaRateLimit: rateLimits?.mfaRateLimit ?? defaultRateLimiterConfig.mfaRateLimit,
|
mfaRateLimit: rateLimits?.mfaRateLimit ?? instanceRateLimiterConfig.mfaRateLimit,
|
||||||
creationLimit: rateLimits?.creationLimit ?? defaultRateLimiterConfig.creationLimit
|
creationLimit: rateLimits?.creationLimit ?? instanceRateLimiterConfig.creationLimit
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user