Bing Search Pass Thru

This commit is contained in:
Steve Farthing 2025-01-27 08:58:04 -05:00
parent 1e011b66d3
commit fe0f9213af
4 changed files with 110 additions and 1 deletions

View file

@ -78,6 +78,11 @@ google_ai_studio_api_key_header = APIKeyHeader(
auto_error=False,
description="If google ai studio client used.",
)
bing_search_header = APIKeyHeader(
name=SpecialHeaders.bing_search_authorization.value,
auto_error=False,
description="Custom header for Bing Search requests",
)
def _get_bearer_token(
@ -451,6 +456,7 @@ async def _user_api_key_auth_builder( # noqa: PLR0915
azure_api_key_header: str,
anthropic_api_key_header: Optional[str],
google_ai_studio_api_key_header: Optional[str],
bing_search_header: Optional[str],
request_data: dict,
) -> UserAPIKeyAuth:
@ -494,6 +500,8 @@ async def _user_api_key_auth_builder( # noqa: PLR0915
api_key = anthropic_api_key_header
elif isinstance(google_ai_studio_api_key_header, str):
api_key = google_ai_studio_api_key_header
elif isinstance(bing_search_header, str):
api_key = bing_search_header
elif pass_through_endpoints is not None:
for endpoint in pass_through_endpoints:
if endpoint.get("path", "") == route:
@ -1317,6 +1325,7 @@ async def user_api_key_auth(
google_ai_studio_api_key_header: Optional[str] = fastapi.Security(
google_ai_studio_api_key_header
),
bing_search_header: Optional[str] = fastapi.Security(bing_search_header),
) -> UserAPIKeyAuth:
"""
Parent function to authenticate user api key / jwt token.
@ -1330,6 +1339,7 @@ async def user_api_key_auth(
azure_api_key_header=azure_api_key_header,
anthropic_api_key_header=anthropic_api_key_header,
google_ai_studio_api_key_header=google_ai_studio_api_key_header,
bing_search_header=bing_search_header,
request_data=request_data,
)