chore: enable disable rewrite for apiv2 selfhost (#21742)

This commit is contained in:
Morgan authored and GitHub committed 2025-06-10 11:04:25 +00:00
1 parent e781a78eea
commit 84171928cb
3 files changed
+18 -2

No files matched your search

+5 -1
View File
@@ -37,4 +37,8 @@ AXIOM_TOKEN=
# INFO: 1
# WARN: 2
# ERROR: 3
LOGGER_BRIDGE_LOG_LEVEL="1"
LOGGER_BRIDGE_LOG_LEVEL="1"
# 1: Rewrite /api/v2 to /v2
# 0: Don't rewrite
REWRITE_API_V2_PREFIX="1"
+2
View File
@@ -32,6 +32,8 @@ export type Environment = {
AXIOM_TOKEN: string;
STRIPE_TEAM_MONTHLY_PRICE_ID: string;
IS_TEAM_BILLING_ENABLED: boolean;
// Used to enable/disable the rewrite of /api/v2 to /v2, active by default.
REWRITE_API_V2_PREFIX: string;
};
export const getEnv = <K extends keyof Environment>(key: K, fallback?: Environment[K]): Environment[K] => {
@@ -1,10 +1,11 @@
import { getEnv } from "@/env";
import { Injectable, NestMiddleware } from "@nestjs/common";
import { Request, Response } from "express";
@Injectable()
export class RewriterMiddleware implements NestMiddleware {
use(req: Request, res: Response, next: () => void) {
if (req.url.startsWith("/api/v2")) {
if (shouldRewriteApiV2Prefix() && req.url.startsWith("/api/v2")) {
req.url = req.url.replace("/api/v2", "/v2");
}
if (req.url.startsWith("/v2/ee")) {
@@ -16,3 +17,12 @@ export class RewriterMiddleware implements NestMiddleware {
next();
}
}
const shouldRewriteApiV2Prefix = () => {
try {
// rewrite is active even if REWRITE_API_V2_PREFIX is not set
return getEnv("REWRITE_API_V2_PREFIX", "1") === "1";
} catch (error) {
return true;
}
};