refac
This commit is contained in:
@@ -1,18 +1,18 @@
|
||||
from urllib.parse import quote
|
||||
|
||||
from open_webui.env import (
|
||||
FORWARD_USER_INFO_HEADER_NAME,
|
||||
FORWARD_USER_INFO_HEADER_ID,
|
||||
FORWARD_USER_INFO_HEADER_EMAIL,
|
||||
FORWARD_USER_INFO_HEADER_ROLE,
|
||||
FORWARD_USER_INFO_HEADER_USER_NAME,
|
||||
FORWARD_USER_INFO_HEADER_USER_ID,
|
||||
FORWARD_USER_INFO_HEADER_USER_EMAIL,
|
||||
FORWARD_USER_INFO_HEADER_USER_ROLE,
|
||||
)
|
||||
|
||||
|
||||
def include_user_info_headers(headers, user):
|
||||
return {
|
||||
**headers,
|
||||
FORWARD_USER_INFO_HEADER_NAME: quote(user.name, safe=" "),
|
||||
FORWARD_USER_INFO_HEADER_ID: user.id,
|
||||
FORWARD_USER_INFO_HEADER_EMAIL: user.email,
|
||||
FORWARD_USER_INFO_HEADER_ROLE: user.role,
|
||||
FORWARD_USER_INFO_HEADER_USER_NAME: quote(user.name, safe=" "),
|
||||
FORWARD_USER_INFO_HEADER_USER_ID: user.id,
|
||||
FORWARD_USER_INFO_HEADER_USER_EMAIL: user.email,
|
||||
FORWARD_USER_INFO_HEADER_USER_ROLE: user.role,
|
||||
}
|
||||
|
||||
@@ -127,7 +127,10 @@ from open_webui.env import (
|
||||
ENABLE_REALTIME_CHAT_SAVE,
|
||||
ENABLE_QUERIES_CACHE,
|
||||
RAG_SYSTEM_CONTEXT,
|
||||
ENABLE_FORWARD_USER_INFO_HEADERS,
|
||||
FORWARD_SESSION_INFO_HEADER_CHAT_ID,
|
||||
)
|
||||
from open_webui.utils.headers import include_user_info_headers
|
||||
from open_webui.constants import TASKS
|
||||
|
||||
|
||||
@@ -2207,6 +2210,12 @@ async def process_chat_payload(request, form_data, user, metadata, model):
|
||||
for key, value in connection_headers.items():
|
||||
headers[key] = value
|
||||
|
||||
# Add user info headers if enabled
|
||||
if ENABLE_FORWARD_USER_INFO_HEADERS and user:
|
||||
headers = include_user_info_headers(headers, user)
|
||||
if metadata and metadata.get("chat_id"):
|
||||
headers[FORWARD_SESSION_INFO_HEADER_CHAT_ID] = metadata.get("chat_id")
|
||||
|
||||
mcp_clients[server_id] = MCPClient()
|
||||
await mcp_clients[server_id].connect(
|
||||
url=mcp_server_connection.get("url", ""),
|
||||
|
||||
@@ -45,7 +45,10 @@ from open_webui.env import (
|
||||
AIOHTTP_CLIENT_TIMEOUT,
|
||||
AIOHTTP_CLIENT_TIMEOUT_TOOL_SERVER_DATA,
|
||||
AIOHTTP_CLIENT_SESSION_TOOL_SERVER_SSL,
|
||||
ENABLE_FORWARD_USER_INFO_HEADERS,
|
||||
FORWARD_SESSION_INFO_HEADER_CHAT_ID,
|
||||
)
|
||||
from open_webui.utils.headers import include_user_info_headers
|
||||
from open_webui.tools.builtin import (
|
||||
search_web,
|
||||
fetch_url,
|
||||
@@ -335,6 +338,13 @@ async def get_tools(
|
||||
for key, value in connection_headers.items():
|
||||
headers[key] = value
|
||||
|
||||
# Add user info headers if enabled
|
||||
if ENABLE_FORWARD_USER_INFO_HEADERS and user:
|
||||
headers = include_user_info_headers(headers, user)
|
||||
metadata = extra_params.get("__metadata__", {})
|
||||
if metadata and metadata.get("chat_id"):
|
||||
headers[FORWARD_SESSION_INFO_HEADER_CHAT_ID] = metadata.get("chat_id")
|
||||
|
||||
def make_tool_function(
|
||||
function_name, tool_server_data, headers
|
||||
):
|
||||
|
||||
Reference in New Issue
Block a user