chore: enable disable rewrite for apiv2 selfhost (#21742)
This commit is contained in:
1 parent
e781a78eea
commit
84171928cb
3 files changed
+18
-2
No files matched your search
@@ -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"
|
||||
@@ -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;
|
||||
}
|
||||
};
|
||||
Reference in new issue
Block a user