Spaces:
Runtime error
Runtime error
| export const REQUEST_BODY_BYTES_PER_MB = 1024 * 1024; | |
| export const DEFAULT_REQUEST_BODY_LIMIT_MB = 10; | |
| export const MIN_REQUEST_BODY_LIMIT_MB = 1; | |
| export const MAX_REQUEST_BODY_LIMIT_MB = 500; | |
| export const DEFAULT_REQUEST_BODY_LIMIT_BYTES = | |
| DEFAULT_REQUEST_BODY_LIMIT_MB * REQUEST_BODY_BYTES_PER_MB; | |
| export function normalizeRequestBodyLimitMb(value: unknown): number | null { | |
| const parsed = | |
| typeof value === "number" ? value : typeof value === "string" ? Number(value) : NaN; | |
| if (!Number.isFinite(parsed)) return null; | |
| const normalized = Math.floor(parsed); | |
| if (normalized < MIN_REQUEST_BODY_LIMIT_MB || normalized > MAX_REQUEST_BODY_LIMIT_MB) { | |
| return null; | |
| } | |
| return normalized; | |
| } | |
| export function requestBodyLimitMbToBytes(value: number): number { | |
| return value * REQUEST_BODY_BYTES_PER_MB; | |
| } | |
| export function parseRequestBodyLimitBytes(value: string | undefined): number { | |
| if (!value) return DEFAULT_REQUEST_BODY_LIMIT_BYTES; | |
| const parsed = parseInt(value, 10); | |
| return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_REQUEST_BODY_LIMIT_BYTES; | |
| } | |
| export function requestBodyLimitBytesToMb(value: number): number { | |
| const configuredMb = Math.round(value / REQUEST_BODY_BYTES_PER_MB); | |
| return Math.min(MAX_REQUEST_BODY_LIMIT_MB, Math.max(MIN_REQUEST_BODY_LIMIT_MB, configuredMb)); | |
| } | |
| export function requestBodyLimitMbFromEnv(value: string | undefined): number { | |
| return requestBodyLimitBytesToMb(parseRequestBodyLimitBytes(value)); | |
| } | |