Skip to content

Commit c7ae48c

Browse files
committed
fix a minor error
1 parent a8f6fa0 commit c7ae48c

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

py-src/data_formulator/agent_routes.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import sys
77
import os
88
import mimetypes
9+
import re
910
mimetypes.add_type('application/javascript', '.js')
1011
mimetypes.add_type('application/javascript', '.mjs')
1112

@@ -113,9 +114,22 @@ def check_available_models():
113114

114115
return json.dumps(results)
115116

117+
def sanitize_model_error(error_message: str) -> str:
118+
"""Sanitize model API error messages before sending to client."""
119+
# HTML escape the message
120+
message = html.escape(error_message)
121+
122+
# Remove any potential API keys that might be in the error
123+
message = re.sub(r'(api[-_]?key|api[-_]?token)[=:]\s*[^\s&]+', r'\1=<redacted>', message, flags=re.IGNORECASE)
124+
125+
# Keep only the essential error info
126+
if len(message) > 500: # Truncate very long messages
127+
message = message[:500] + "..."
128+
129+
return message
130+
116131
@agent_bp.route('/test-model', methods=['GET', 'POST'])
117132
def test_model():
118-
119133
if request.is_json:
120134
logger.info("# code query: ")
121135
content = request.get_json()
@@ -125,7 +139,7 @@ def test_model():
125139
logger.info(content)
126140

127141
client = get_client(content['model'])
128-
142+
129143
try:
130144
response = client.get_completion(
131145
messages=[
@@ -145,11 +159,10 @@ def test_model():
145159
}
146160
except Exception as e:
147161
logger.info(f"Error: {e}")
148-
error_message = str(e)
149162
result = {
150163
"model": content['model'],
151164
"status": 'error',
152-
"message": error_message,
165+
"message": sanitize_model_error(str(e)),
153166
}
154167
else:
155168
result = {'status': 'error'}

0 commit comments

Comments
 (0)