fix: filter out unresolved placeholders from headers (thanks @MrunmayS)

This commit is contained in:
s10gopal 2025-07-24 16:34:31 +05:30 committed by Gopal Sharma
parent a8babbcebf
commit 3508839d6d

View file

@ -29,10 +29,23 @@ const initializeClient = async ({ req, res, endpointOption, optionsOnly, overrid
const CUSTOM_BASE_URL = extractEnvVariable(endpointConfig.baseURL);
const customUserVars = {};
customUserVars.LIBRECHAT_CONVERSATION_ID = req.body.conversationId;
if (req.body.conversationId) {
customUserVars.LIBRECHAT_CONVERSATION_ID = req.body.conversationId;
}
let resolvedHeaders = resolveHeaders(endpointConfig.headers, req.user, customUserVars);
// Filter out headers with unresolved placeholders
const filteredHeaders = {};
for (const [key, value] of Object.entries(resolvedHeaders)) {
if (typeof value === 'string' && value.includes('{{') && value.includes('}}')) {
continue;
}
filteredHeaders[key] = value;
}
resolvedHeaders = filteredHeaders;
if (CUSTOM_API_KEY.match(envVarRegex)) {
throw new Error(`Missing API Key for ${endpoint}.`);
}