diff --git a/packages/hydrooj/src/service/server.ts b/packages/hydrooj/src/service/server.ts index 6eec7c2c3..2c73631d2 100644 --- a/packages/hydrooj/src/service/server.ts +++ b/packages/hydrooj/src/service/server.ts @@ -302,6 +302,8 @@ function serializer(k: string, v: any) { return v; } +const ignoredLimit = `,${argv.options.ignoredLimit},`; + export class HandlerCommon { domainId: string; domain: DomainDoc; @@ -311,6 +313,8 @@ export class HandlerCommon { extraTitleContent?: string; async limitRate(op: string, periodSecs: number, maxOperations: number) { + if (ignoredLimit.includes(op)) return; + // TODO: support limit override if (this.user && this.user.hasPriv(PRIV.PRIV_UNLIMITED_ACCESS)) return; await opcount.inc(op, this.request.ip, periodSecs, maxOperations); }