Skip to content

Commit e3dfcca

Browse files
committed
rebase and test
Signed-off-by: Mihai Criveti <[email protected]>
1 parent 4b22e9d commit e3dfcca

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

mcpgateway/main.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,12 +303,19 @@ async def lifespan(_app: FastAPI) -> AsyncIterator[None]:
303303
logger.info(f"Plugin manager initialized with {plugin_manager.plugin_count} plugins")
304304

305305
if settings.enable_header_passthrough:
306+
logger.info(f"🔄 Header Passthrough: ENABLED (default headers: {settings.default_passthrough_headers})")
307+
if settings.enable_overwrite_base_headers:
308+
logger.warning("⚠️ Base Header Override: ENABLED - Client headers can override gateway headers")
309+
else:
310+
logger.info("🔒 Base Header Override: DISABLED - Gateway headers take precedence")
306311
db_gen = get_db()
307312
db = next(db_gen) # pylint: disable=stop-iteration-return
308313
try:
309314
await set_global_passthrough_headers(db)
310315
finally:
311316
db.close()
317+
else:
318+
logger.info("🔒 Header Passthrough: DISABLED")
312319

313320
await tool_service.initialize()
314321
await resource_service.initialize()

tests/unit/mcpgateway/utils/test_passthrough_headers.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ def test_authorization_conflict_bearer_auth(self, mock_settings, caplog):
125125
def test_base_header_conflict_prevention(self, mock_settings, caplog):
126126
"""Test that request headers don't override base headers."""
127127
mock_settings.enable_header_passthrough = True
128+
mock_settings.enable_overwrite_base_headers = False
128129

129130
mock_db = Mock()
130131
mock_global_config = Mock(spec=GlobalConfig)
@@ -412,6 +413,7 @@ def test_database_query_called_correctly(self, mock_settings):
412413
def test_logging_levels(self, mock_settings, caplog):
413414
"""Test that appropriate log levels are used for different scenarios."""
414415
mock_settings.enable_header_passthrough = True
416+
mock_settings.enable_overwrite_base_headers = False
415417

416418
mock_db = Mock()
417419
mock_global_config = Mock(spec=GlobalConfig)

0 commit comments

Comments
 (0)