@ai-stack/payloadcms 3.76.0-beta.6 → 3.76.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -37,11 +37,26 @@ const getHeaderOrigin = (req)=>{
|
|
|
37
37
|
}
|
|
38
38
|
return `https://${host}`;
|
|
39
39
|
};
|
|
40
|
+
const getRequestOrigin = (req)=>{
|
|
41
|
+
const requestURL = req.url?.trim();
|
|
42
|
+
if (!requestURL) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
const parsed = new URL(requestURL);
|
|
47
|
+
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
return parsed.origin;
|
|
51
|
+
} catch {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
40
55
|
export function resolveServerURL(req) {
|
|
41
56
|
const candidates = [
|
|
42
57
|
req.payload.config?.serverURL || undefined,
|
|
43
58
|
...PLUGIN_SERVER_URL_ENV_KEYS.map((key)=>getProcessEnvValue(key)),
|
|
44
|
-
req
|
|
59
|
+
getRequestOrigin(req),
|
|
45
60
|
getHeaderOrigin(req)
|
|
46
61
|
];
|
|
47
62
|
for (const candidate of candidates){
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utilities/runtime/resolveServerURL.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { PLUGIN_SERVER_URL_ENV_KEYS } from '../../defaults.js'\n\nconst normalizeServerURL = (value: string | undefined): string | undefined => {\n if (!value) {\n return undefined\n }\n\n const trimmed = value.trim()\n if (!trimmed) {\n return undefined\n }\n\n try {\n const parsed = new URL(trimmed)\n if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {\n return undefined\n }\n\n const normalizedPath = parsed.pathname === '/' ? '' : parsed.pathname.replace(/\\/+$/, '')\n return `${parsed.origin}${normalizedPath}`\n } catch {\n return undefined\n }\n}\n\nconst getProcessEnvValue = (key: string): string | undefined => {\n if (typeof process === 'undefined' || !process.env) {\n return undefined\n }\n\n const value = process.env[key]\n return typeof value === 'string' && value.length > 0 ? value : undefined\n}\n\nconst getHeaderOrigin = (req: PayloadRequest): string | undefined => {\n const forwardedProto = req.headers.get('x-forwarded-proto')?.split(',')[0]?.trim()\n const forwardedHost = req.headers.get('x-forwarded-host')?.split(',')[0]?.trim()\n\n if (forwardedProto && forwardedHost) {\n return `${forwardedProto}://${forwardedHost}`\n }\n\n const host = req.headers.get('host')?.trim()\n if (!host) {\n return undefined\n }\n\n return `https://${host}`\n}\n\nexport function resolveServerURL(req: PayloadRequest): string | undefined {\n const candidates: Array<string | undefined> = [\n req.payload.config?.serverURL || undefined,\n ...PLUGIN_SERVER_URL_ENV_KEYS.map((key) => getProcessEnvValue(key)),\n req
|
|
1
|
+
{"version":3,"sources":["../../../src/utilities/runtime/resolveServerURL.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { PLUGIN_SERVER_URL_ENV_KEYS } from '../../defaults.js'\n\nconst normalizeServerURL = (value: string | undefined): string | undefined => {\n if (!value) {\n return undefined\n }\n\n const trimmed = value.trim()\n if (!trimmed) {\n return undefined\n }\n\n try {\n const parsed = new URL(trimmed)\n if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {\n return undefined\n }\n\n const normalizedPath = parsed.pathname === '/' ? '' : parsed.pathname.replace(/\\/+$/, '')\n return `${parsed.origin}${normalizedPath}`\n } catch {\n return undefined\n }\n}\n\nconst getProcessEnvValue = (key: string): string | undefined => {\n if (typeof process === 'undefined' || !process.env) {\n return undefined\n }\n\n const value = process.env[key]\n return typeof value === 'string' && value.length > 0 ? value : undefined\n}\n\nconst getHeaderOrigin = (req: PayloadRequest): string | undefined => {\n const forwardedProto = req.headers.get('x-forwarded-proto')?.split(',')[0]?.trim()\n const forwardedHost = req.headers.get('x-forwarded-host')?.split(',')[0]?.trim()\n\n if (forwardedProto && forwardedHost) {\n return `${forwardedProto}://${forwardedHost}`\n }\n\n const host = req.headers.get('host')?.trim()\n if (!host) {\n return undefined\n }\n\n return `https://${host}`\n}\n\nconst getRequestOrigin = (req: PayloadRequest): string | undefined => {\n const requestURL = req.url?.trim()\n if (!requestURL) {\n return undefined\n }\n\n try {\n const parsed = new URL(requestURL)\n if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {\n return undefined\n }\n\n return parsed.origin\n } catch {\n return undefined\n }\n}\n\nexport function resolveServerURL(req: PayloadRequest): string | undefined {\n const candidates: Array<string | undefined> = [\n req.payload.config?.serverURL || undefined,\n ...PLUGIN_SERVER_URL_ENV_KEYS.map((key) => getProcessEnvValue(key)),\n getRequestOrigin(req),\n getHeaderOrigin(req),\n ]\n\n for (const candidate of candidates) {\n const normalized = normalizeServerURL(candidate)\n if (normalized) {\n return normalized\n }\n }\n\n return undefined\n}\n\nexport function resolveAbsoluteURL(input: string, req: PayloadRequest): string {\n if (/^https?:\\/\\//i.test(input)) {\n return input\n }\n\n const baseURL = resolveServerURL(req)\n if (!baseURL) {\n throw new Error(\n 'Could not resolve a server URL for relative asset path. Set `payload.config.serverURL` or SERVER_URL.',\n )\n }\n\n const normalizedPath = input.startsWith('/') ? input : `/${input}`\n return `${baseURL}${normalizedPath}`\n}\n"],"names":["PLUGIN_SERVER_URL_ENV_KEYS","normalizeServerURL","value","undefined","trimmed","trim","parsed","URL","protocol","normalizedPath","pathname","replace","origin","getProcessEnvValue","key","process","env","length","getHeaderOrigin","req","forwardedProto","headers","get","split","forwardedHost","host","getRequestOrigin","requestURL","url","resolveServerURL","candidates","payload","config","serverURL","map","candidate","normalized","resolveAbsoluteURL","input","test","baseURL","Error","startsWith"],"mappings":"AAEA,SAASA,0BAA0B,QAAQ,oBAAmB;AAE9D,MAAMC,qBAAqB,CAACC;IAC1B,IAAI,CAACA,OAAO;QACV,OAAOC;IACT;IAEA,MAAMC,UAAUF,MAAMG,IAAI;IAC1B,IAAI,CAACD,SAAS;QACZ,OAAOD;IACT;IAEA,IAAI;QACF,MAAMG,SAAS,IAAIC,IAAIH;QACvB,IAAIE,OAAOE,QAAQ,KAAK,WAAWF,OAAOE,QAAQ,KAAK,UAAU;YAC/D,OAAOL;QACT;QAEA,MAAMM,iBAAiBH,OAAOI,QAAQ,KAAK,MAAM,KAAKJ,OAAOI,QAAQ,CAACC,OAAO,CAAC,QAAQ;QACtF,OAAO,CAAC,EAAEL,OAAOM,MAAM,CAAC,EAAEH,eAAe,CAAC;IAC5C,EAAE,OAAM;QACN,OAAON;IACT;AACF;AAEA,MAAMU,qBAAqB,CAACC;IAC1B,IAAI,OAAOC,YAAY,eAAe,CAACA,QAAQC,GAAG,EAAE;QAClD,OAAOb;IACT;IAEA,MAAMD,QAAQa,QAAQC,GAAG,CAACF,IAAI;IAC9B,OAAO,OAAOZ,UAAU,YAAYA,MAAMe,MAAM,GAAG,IAAIf,QAAQC;AACjE;AAEA,MAAMe,kBAAkB,CAACC;IACvB,MAAMC,iBAAiBD,IAAIE,OAAO,CAACC,GAAG,CAAC,sBAAsBC,MAAM,IAAI,CAAC,EAAE,EAAElB;IAC5E,MAAMmB,gBAAgBL,IAAIE,OAAO,CAACC,GAAG,CAAC,qBAAqBC,MAAM,IAAI,CAAC,EAAE,EAAElB;IAE1E,IAAIe,kBAAkBI,eAAe;QACnC,OAAO,CAAC,EAAEJ,eAAe,GAAG,EAAEI,cAAc,CAAC;IAC/C;IAEA,MAAMC,OAAON,IAAIE,OAAO,CAACC,GAAG,CAAC,SAASjB;IACtC,IAAI,CAACoB,MAAM;QACT,OAAOtB;IACT;IAEA,OAAO,CAAC,QAAQ,EAAEsB,KAAK,CAAC;AAC1B;AAEA,MAAMC,mBAAmB,CAACP;IACxB,MAAMQ,aAAaR,IAAIS,GAAG,EAAEvB;IAC5B,IAAI,CAACsB,YAAY;QACf,OAAOxB;IACT;IAEA,IAAI;QACF,MAAMG,SAAS,IAAIC,IAAIoB;QACvB,IAAIrB,OAAOE,QAAQ,KAAK,WAAWF,OAAOE,QAAQ,KAAK,UAAU;YAC/D,OAAOL;QACT;QAEA,OAAOG,OAAOM,MAAM;IACtB,EAAE,OAAM;QACN,OAAOT;IACT;AACF;AAEA,OAAO,SAAS0B,iBAAiBV,GAAmB;IAClD,MAAMW,aAAwC;QAC5CX,IAAIY,OAAO,CAACC,MAAM,EAAEC,aAAa9B;WAC9BH,2BAA2BkC,GAAG,CAAC,CAACpB,MAAQD,mBAAmBC;QAC9DY,iBAAiBP;QACjBD,gBAAgBC;KACjB;IAED,KAAK,MAAMgB,aAAaL,WAAY;QAClC,MAAMM,aAAanC,mBAAmBkC;QACtC,IAAIC,YAAY;YACd,OAAOA;QACT;IACF;IAEA,OAAOjC;AACT;AAEA,OAAO,SAASkC,mBAAmBC,KAAa,EAAEnB,GAAmB;IACnE,IAAI,gBAAgBoB,IAAI,CAACD,QAAQ;QAC/B,OAAOA;IACT;IAEA,MAAME,UAAUX,iBAAiBV;IACjC,IAAI,CAACqB,SAAS;QACZ,MAAM,IAAIC,MACR;IAEJ;IAEA,MAAMhC,iBAAiB6B,MAAMI,UAAU,CAAC,OAAOJ,QAAQ,CAAC,CAAC,EAAEA,MAAM,CAAC;IAClE,OAAO,CAAC,EAAEE,QAAQ,EAAE/B,eAAe,CAAC;AACtC"}
|