mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-03-22 23:56:34 +01:00
26 lines
823 B
TypeScript
26 lines
823 B
TypeScript
|
|
import { logger } from '@librechat/data-schemas';
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Gets the base path from the DOMAIN_CLIENT environment variable.
|
||
|
|
* This is useful for constructing URLs when LibreChat is served from a subdirectory.
|
||
|
|
* @returns {string} The base path (e.g., '/librechat' or '')
|
||
|
|
*/
|
||
|
|
export function getBasePath(): string {
|
||
|
|
if (!process.env.DOMAIN_CLIENT) {
|
||
|
|
return '';
|
||
|
|
}
|
||
|
|
|
||
|
|
try {
|
||
|
|
const clientUrl = new URL(process.env.DOMAIN_CLIENT);
|
||
|
|
// Keep consistent with the logic in api/server/index.js
|
||
|
|
const baseHref = clientUrl.pathname.endsWith('/')
|
||
|
|
? clientUrl.pathname.slice(0, -1) // Remove trailing slash for path construction
|
||
|
|
: clientUrl.pathname;
|
||
|
|
|
||
|
|
return baseHref === '/' ? '' : baseHref;
|
||
|
|
} catch (error) {
|
||
|
|
logger.warn('Error parsing DOMAIN_CLIENT for base path:', error);
|
||
|
|
return '';
|
||
|
|
}
|
||
|
|
}
|