mirror of
https://github.com/langgenius/dify.git
synced 2026-09-08 02:43:49 +08:00
fix(web): append /api/v1 when SSR reads MARKETPLACE_API_URL (#41824)
Co-authored-by: fatelei <fatelei@gmail.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: zxhlyh <jasonapring2015@outlook.com> Co-authored-by: CodingOnStar <hanxujiang@dify.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: 姜涵煦 <hanxujiang@jianghanxudeMacBook-Pro-2.local> Co-authored-by: L1nSn0w <l1nsn0w@qq.com> Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
This commit is contained in:
parent
e6c9846726
commit
d93e5aa444
@ -14,14 +14,20 @@ const getStringConfig = (envVar: string | undefined, defaultValue: string) => {
|
|||||||
const isLocalMarketplaceApiUrl = (url: string | undefined) =>
|
const isLocalMarketplaceApiUrl = (url: string | undefined) =>
|
||||||
/^https?:\/\/(?:localhost|127\.0\.0\.1|\[::1\])(?::|\/)/i.test(url ?? '')
|
/^https?:\/\/(?:localhost|127\.0\.0\.1|\[::1\])(?::|\/)/i.test(url ?? '')
|
||||||
|
|
||||||
// NEXT_PUBLIC_* is inlined at build. The standalone marketplace image sets
|
// Docker entrypoint sets NEXT_PUBLIC_MARKETPLACE_API_PREFIX=${MARKETPLACE_API_URL}/api/v1.
|
||||||
// MARKETPLACE_API_URL at runtime instead, so SSR must read that here or it
|
// MARKETPLACE_API_URL itself is the site origin (no /api/v1). Standalone marketplace
|
||||||
// falls through to localhost:5002 and creator pages throw.
|
// images may set MARKETPLACE_API_URL at runtime for SSR; normalize the same way
|
||||||
|
// entrypoint does so console SSR does not call the HTML origin and fail Templates.
|
||||||
|
const marketplaceApiPrefixFromUrl = (url: string) => {
|
||||||
|
const trimmed = url.replace(/\/$/, '')
|
||||||
|
return trimmed.endsWith('/api/v1') ? trimmed : `${trimmed}/api/v1`
|
||||||
|
}
|
||||||
|
|
||||||
const runtimeMarketplaceApiUrl =
|
const runtimeMarketplaceApiUrl =
|
||||||
typeof globalThis.window === 'undefined' &&
|
typeof globalThis.window === 'undefined' &&
|
||||||
process.env.MARKETPLACE_API_URL &&
|
process.env.MARKETPLACE_API_URL &&
|
||||||
!isLocalMarketplaceApiUrl(process.env.MARKETPLACE_API_URL)
|
!isLocalMarketplaceApiUrl(process.env.MARKETPLACE_API_URL)
|
||||||
? process.env.MARKETPLACE_API_URL
|
? marketplaceApiPrefixFromUrl(process.env.MARKETPLACE_API_URL)
|
||||||
: undefined
|
: undefined
|
||||||
|
|
||||||
export const API_PREFIX = getStringConfig(
|
export const API_PREFIX = getStringConfig(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user