From 3508839d6d82ec37f7f56777a87a0903472239d3 Mon Sep 17 00:00:00 2001 From: s10gopal <36487439+s10gopal@users.noreply.github.com> Date: Thu, 24 Jul 2025 16:34:31 +0530 Subject: [PATCH] fix: filter out unresolved placeholders from headers (thanks @MrunmayS) --- .../services/Endpoints/custom/initialize.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/api/server/services/Endpoints/custom/initialize.js b/api/server/services/Endpoints/custom/initialize.js index de1417a78b..8cedf598bc 100644 --- a/api/server/services/Endpoints/custom/initialize.js +++ b/api/server/services/Endpoints/custom/initialize.js @@ -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}.`); }